我想访问对象的键和索引,最好的方法是什么?
这是数据对象:
d={KpiName:"KPI1", '1/1/2016':"85%", '1/2/2016':"87%"}
Object {KpiName: "KPI1", 1/1/2016: "85%", 1/2/2016: "87%"}
这是我的 for 第一个
循环及其输出
for (var key in d) { console.log("d[\"key\"]: ", d[key]) }
d["key"]: KPI1
d["key"]: 85%
d["key"]: 87%
这是我想要实现的目标,但我认为我可以写得更好
第二个
for 循环并输出
i=1; for (var key in d) { console.log("d[\"key\"]: ", d[key]); console.log("i: ", i); i++}
d["key"]: KPI1
i: 1
d["key"]: 85%
i: 2
d["key"]: 87%
i: 3
3
我想我可以像这样编写for循环
for (var key, i in d){...}
但它似乎不起作用,也许我的 2nd
for 循环实现了我想要的,但我不确定它是否是最好的代码。
最佳答案
如果您想使用for/in
循环,没有更好的方法来编写它。您必须保留自己的循环变量来计算迭代次数。
您可以使用Object.keys
首先获取一个键数组,然后使用 for 循环或使用 forEach 访问它们的索引,但我不会称其为“更好”,它只是一个不同的方法来解决它:
var d = {KpiName:"KPI1", '1/1/2016':"85%", '1/2/2016':"87%"};
Object.keys(d).forEach(function(key, i) {
console.log("d[\"key\"]: ", d[key]);
console.log("i: ", i);
});
关于javascript - 在 for 循环中访问对象的键和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40477430/