ほとんどのオブジェクトでは、次を使用します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]]
次に、 index :によってプロパティを反復処理できます。
for (let i=300; i < keys.length && i < 600; i++) {
console.log(keys[i], yourobject[keys[i]]);
}