当我这样做
console.log(response.data.rates)
我正在收到这样的回复
{AUD: 1.3804, BGN: 1.6664, BRL: 4.0884, CAD: 1.2962, CHF: 0.9686, …}
现在,我要运行for loop
直到元素.length
。
但在此之前,我做了console.log(response.data.rates.length)
,结果未定义。
[问题:] 我在这里可能做错了什么?
答案 0 :(得分:1)
一个对象没有长度。您需要的是数组的长度。使用Object.keys(response.data.rates).length
来获取对象键的长度。
这里是一个例子:
var response = {
data: {
rates: {AUD: 1.3804, BGN: 1.6664, BRL: 4.0884, CAD: 1.2962, CHF: 0.9686}
}
};
var keys = Object.keys(response.data.rates);
for (var i = 0; i < keys.length; i++) {
console.log(keys[i], response.data.rates[keys[i]]);
}
// or without length, but with a forEach loop:
console.log('---');
Object.keys(response.data.rates).forEach(key => {
console.log(key, response.data.rates[key]);
});
答案 1 :(得分:1)
它是一个对象,javascript中length
的{{1}}属性
您可以使用arrays
遍历对象[link]
答案 2 :(得分:0)
对象没有length属性
使用
Object.keys()