对于大多数对象,请使用
for .. in:
for (let key in yourobject) { console.log(key, yourobject[key]);}使用ES6,如果同时需要键和值,请执行
for (let [key, value] of Object.entries(yourobject)) { console.log(key, value);}为了避免记录继承的属性,请使用hasOwnProperty进行检查:
for (let key in yourobject) { if (yourobject.hasOwnProperty(key)) { console.log(key, yourobject[key]); }}hasOwnProperty
如果您使用的是简单对象(例如,您自己创建的对象),则无需在迭代键时进行检查{}。
该MDN文档更一般地说明了如何处理对象及其属性。
如果要“分块”执行,最好的方法是将键提取到数组中。由于不能保证顺序,这是正确的方法。在现代浏览器中,您可以使用
let keys = Object.keys(yourobject);
为了更加兼容,您最好这样做:
let keys = []; for (let key in yourobject) {if (yourobject.hasOwnProperty(key)) keys.push(key); }然后,您可以按索引访问属性
yourobject[keys[i]]:
for (let i=300; i < keys.length && i < 600; i++) { console.log(keys[i], yourobject[keys[i]]);}


