Javascript for循环生成对象,而不是对象索引

Javascript for循环生成对象,而不是对象索引,javascript,json,Javascript,Json,是否有一种简单的表示法来迭代生成实际对象的javascript数组,而不是对象的索引 例如: var dataset = ['a','b','c'] for (item in dataset){ console.log(item); } 我想记录'a','b','c',而不是0,1,2 我不想使用dataset[item]的原因是我有几个嵌套的for循环,代码变得非常冗长。事实证明,这可以通过使用forEach循环来实现: dataset.forEach(function(item

是否有一种简单的表示法来迭代生成实际对象的javascript数组,而不是对象的索引

例如:

var dataset = ['a','b','c']

for (item in dataset){
    console.log(item);

}
我想记录'a','b','c',而不是0,1,2


我不想使用dataset[item]的原因是我有几个嵌套的for循环,代码变得非常冗长。

事实证明,这可以通过使用forEach循环来实现:

dataset.forEach(function(item){
    console.log(item);
});

如果您愿意使用jQuery(它可以很好地与基本JS相结合),那么就可以这么简单:

var dataset = ['a', 'b', 'c'];
$(dataset).each(function (i, o) {
    console.log(o);
});
这实际上是在
数据集上执行foreach循环,将其视为包含对象的数组。索引存储在
i
中,非jQuery对象存储在
o
中。您可以使用
$(o)
获取此对象的jQuery版本


希望这有帮助

Array.prototype.forEach
——几乎每个lib都提供了这种风格(例如,$.each,u.each),或者使用ES6
来。。用于…的..
和transfile
。。。in
用于对象,而不是数组。是的,当我们能够为(数据集的x){console.log(x)}执行
时,这将是一件好事