for each...in loopの MDN ページによると、この構成は非推奨です。まったく同じことを行う代替手段はありますか? for...of ループは、整数でない (独自の列挙可能な) プロパティを反復処理しません。代替手段がない場合、なぜ彼らはそれを非推奨にしたのですか?
32522 次
3 に答える
17
オブジェクトのすべてのプロパティを反復処理するには、次のobj
ようにします。
for (var key in obj) {
console.log(key, obj[key]);
}
継承されたプロパティを避けたい場合は、これを行うことができます:
for (var key in obj) {
if (!obj.hasOwnProperty(key)) continue;
console.log(key, obj[key]);
}
于 2012-09-28T09:30:45.597 に答える
12
新しいECMAScript5thEdition関数を利用できます。
Object.keys(obj).forEach(function (key) {
console.log(key, obj[key]);
});
于 2012-09-28T09:50:06.947 に答える
3
まったく同じことを行う代替手段はありますか?
コードのfor ... in
ブロックで最初に行うことはfoo[propertyname]
、変数へのコピーです。
于 2012-09-28T09:30:49.480 に答える