我在 JavaScript 中有一个对象:
{
abc: '...',
bca: '...',
zzz: '...',
xxx: '...',
ccc: '...',
// ...
}
我想使用 for
循环来获取它的属性。而且我想分部分迭代它(不是一次所有对象属性)。
使用一个简单的数组,我可以使用标准 for
循环来做到这一点:
for (i = 0; i < 100; i++) { ... } // first part
for (i = 100; i < 300; i++) { ... } // second
for (i = 300; i < arr.length; i++) { ... } // last
但是如何处理对象呢?
原文由 nkuhta 发布,翻译遵循 CC BY-SA 4.0 许可协议
要迭代 Arrays、Strings 或 Objects 的键,请使用
for .. in
:使用 ES6,如果您同时需要键和值,请执行
要避免记录继承的属性,请检查 hasOwnProperty :
如果您使用的是简单对象(例如您自己使用
{}
制作的对象),则在迭代键时无需检查hasOwnProperty
。这个 MDN 文档 更一般地解释了如何处理对象及其属性。
如果你想“分块”做,最好是提取数组中的键。由于无法保证订单,因此这是正确的方法。在现代浏览器中,您可以使用
为了更加兼容,你最好这样做:
然后你可以通过索引迭代你的属性:
yourobject[keys[i]]
: