javascript - response dot length doesn't happen to be working
问题描述
When I do
console.log(response.data.rates)
I am getting response like this
{AUD: 1.3804, BGN: 1.6664, BRL: 4.0884, CAD: 1.2962, CHF: 0.9686, …}
Now, I want to run for loop
till the .length
of element.
but before that I did console.log(response.data.rates.length)
which is coming out to be undefined.
[Question:] What could I be doing wrong here?
解决方案
对象没有长度。您需要的是数组的长度。用于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]);
});
推荐阅读
- bash - 带有成对变量的 Bash for 循环
- javascript - DrumKit keydown 有效,但不能点击
- c# - C# NamedValueCollection ToString 替换空格
- bash - 无法从 Bitbucket Pipelines 中的同一存储库中获取
- electron - 使电子应用程序与 El Capitan 兼容
- regex - 在 XSD 中限制为 01 到 10 的值?
- python - Python- 在自定义对象上使用函数(如 numpy)
- vba - VBA代码仅显示包含与输入字段相似的文本的行?
- c# - 在 Windows 应用程序上验证代码签名证书
- javascript - 在 React Redux 中更新嵌套状态,语法有什么问题?有没有更好的方法来编写这个减速器?