次のようなデータがある場合:
x = {"key1":"val1", "key2":"val2", "key3", "val3"};
キー、値、インデックスを返す関数を使用して for each を実行する標準的な方法はありますか?
私が行う方法は、キーの配列を定義し、インデックスを使用してアクセスすることですが、より簡単な方法はありますか?
何かのようなもの:
$.each(x, function(i, k, v) {
//... do something here
}
次のようなデータがある場合:
x = {"key1":"val1", "key2":"val2", "key3", "val3"};
キー、値、インデックスを返す関数を使用して for each を実行する標準的な方法はありますか?
私が行う方法は、キーの配列を定義し、インデックスを使用してアクセスすることですが、より簡単な方法はありますか?
何かのようなもの:
$.each(x, function(i, k, v) {
//... do something here
}
Object.keys()リンクとともにArray.prototype.forEachリンク:
あらすじ
Object.keys( object ).forEach(function( element, index, array ) {
});
Object.keys()すべての独自のキーを配列として返し、.forEach()上記のように配列をループします。からArrayを取得するのでObject.keys()、もちろんそれを適用Array.prototype.sort()して、好きな順序でキーにアクセスすることもできます。例えば
Object.keys( object ).sort(function( a, b ) {
return a.localeCompare( b );
}).forEach(function( element, index, array ) {
console.log( object[ element ] );
});
必要に応じて、独自の「インデックス」を作成できます
var i =0;
$.each(...... {
/* code */
i++;
});