object のように任意の配列をループするには forEach() メソッドを使うと言われていますが、ここでは
Array.prototype.forEach.call({1:"a",2:"b"},function(eleVal,ele){alert(eleVal+":"+ele)})
上記のコードは機能しません。なぜですか??
object のように任意の配列をループするには forEach() メソッドを使うと言われていますが、ここでは
Array.prototype.forEach.call({1:"a",2:"b"},function(eleVal,ele){alert(eleVal+":"+ele)})
上記のコードは機能しません。なぜですか??
オブジェクトにプロパティを追加する.length
と、機能します。
インデックスは 0 から始まるため、最初の要素は未定義になることに注意してください。
[].slice.call({1: 'a', 2: 'b', length: 3})
[undefined × 1, "a", "b"]
それを行う別の方法。元のオブジェクトを変更しないので、私はこれを好みます。
var obj = {1:"a", 2:"b"};
for(var i in obj) { if(obj.hasOwnProperty(i)) console.log(i + ':' + obj[i]); }