javascript - 遍历 Javascript 中的对象

标签 javascript arrays d3.js

我有一个形式的对象:

var test = {"2011":{"10":4,"9":9,"8":15,"7":11,"6":11,"5":13,"4":9,"3":5,"2":9,"1":4,"0":20},"2010":{"11":9,"10":23,"9":58}}

我想对此进行迭代,以便我可以命中每年和每月的组合。我有:

var years = d3.keys(test),
    months = d3.range(12),
    data = [];

因此,作为一个 Javascript 新手,为了全面检查我检查了的东西。

document.writeln(years)
2011,2010 

很酷,但是当我尝试遍历 years 数组以从 test 元素中提取数据时,我做了我认为正确的测试,但是元素丢失:

for(var y in years) {
  document.writeln(y);
}
0,1

如何遍历 years 以获取其中的实际元素 (2011,2010)?

最佳答案

for in 检索索引/键(不是值)。

你需要修改你的循环,像这样:

for(var y in years) {
  document.writeln(years[y]);
}

编辑 - 根据 missingno 的评论,使用 for in 迭代数组是一个 bad idea .

for(var i = 0, l = years.length; i < l; i++) {
  document.writeln(years[i]);
}

一些额外的信息...如果您对对象使用 for/in 循环,它也会遍历您的属性键。例如,

for(var y in test) {
  //This will yield, "2011" and then "2010"
  document.writeln(y);
}

关于javascript - 遍历 Javascript 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389148/

相关文章:

javascript - Vue.js - 打开编辑记录的对话框

javascript - 将 jQuery 的 data() 与 Mustache.js 模板结合使用

Javascript 后置摄像头

javascript - 从名称获取 javascript 数组对象

python - 使用 numpy 计算滚动加权和

javascript - CSS3 - 分步在屏幕上翻译元素?

javascript - 将 PHP 数组传递给 Javascript 变量

javascript - 实时 D3 气泡图(圆包)

javascript - 我可以制作没有外部数据文件的圆环图吗?

reactjs - 使用带有动画的 d3-hierarchy 将节点分布在树根周围