gpt4 book ai didi

javascript - 如何从 Javascript 对象访问属性?

转载 作者:行者123 更新时间:2023-12-02 23:42:10 25 4
gpt4 key购买 nike

我有一个 api 调用,它在控制台中生成以下结果(使用 map() 将其配对后)。

{…}

CHANGE24HOUR: "$ 11.16"

CHANGEDAY: "$ 3.31"

CHANGEPCT24HOUR: "6.73"

CHANGEPCTDAY: "1.90"

FROMSYMBOL: "Ξ"

HIGH24HOUR: "$ 183.38"

HIGHDAY: "$ 183.38"

但是,无论我如何尝试,我都无法获得它的属性。该对象称为“coinStats”。

我尝试过以下方法:

coinStats.HIGHDAY = undefined
coinStats['HIGHDAY'] = undefined
coinStats["HIGHDAY"] = undefined

尝试将其转换为数组,看看这是否有助于使用

Object.values(coinStats)  // Would not work

我确信答案是如此简单。但我只是不确定它是什么?

原始的原始 api 结果如下:

(1) […]

0: Object { CoinInfo: {…}, RAW: {…}, DISPLAY: {…} }

length: 1

<prototype>: [

我要查找的信息位于显示 -> 美元中。我使用了 map() 函数来返回该子对象。

我用来获取数据的代码基本上如下:

const API = 'https://min-api.cryptocompare.com/data/top/mktcapfull?tsym=USD&page=1';

fetch(API)
.then(results => results.json())
.then(coinData => {

const view = coinData.Data.filter(obj => { return obj.CoinInfo.Name === TRX});

})

const coinFeedAbridged = view.map(item => item.DISPLAY.USD);

const coinStats = coinFeedAbridged[0];

console.dir(coinStats);

例如,我无法访问 coinStats.HIGHDAY...我得到“未定义”。

最佳答案

提取调用是异步的,因此在调用完成之前您无法访问 view 变量。该代码调用异步函数并运行下一行,因此 view 变量将是未定义的。您必须在获取回调函数中处理数据,其中数据是已知的。

const API = 'https://min-api.cryptocompare.com/data/top/mktcapfull?tsym=USD&page=1';

fetch(API)
.then(results => results.json())
.then(coinData => {

const view = coinData.Data.filter(obj => {
return obj.CoinInfo.Name === 'TRX'
});

const coinFeedAbridged = view.map(item => item.DISPLAY.USD);

const coinStats = coinFeedAbridged[0];
console.log(coinStats);

})
}

你可以在这个 fiddle 中测试一下。 https://jsfiddle.net/gran7ptk/1/

关于javascript - 如何从 Javascript 对象访问属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56022076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com