2016-10-07 15 views
0

私は配列の先頭に(.push()を使用して最後に追加するのではなく)追加したいという状況にあります。Javascriptの疎な配列の互換性

私が収集できるものから、.unshift()メソッドを使用すると、潜在的にIE 8で動作しないでしょうか?

私は "それは大丈夫です。配列の終わりから始まって、私の道を下っていく値を設定します"と思っていましたが、それはすべてのブラウザで大丈夫ですか?

することは、[OK]をすべてのブラウザでこれを行うことです?:

arr =[]; 
arr[2] = 'greg'; 

私の配列を与えるクロームコンソールで:

[undefined, undefined, 'greg'] 

それがどこかに働かないようにそのことについて何かがちょうどそうです...

答えて

0

あなたは配列のメソッドを使って反復可能なスパース配列を取得します。Array#forEach

forEach()は、配列内に存在する各要素に対して昇順で1回コールバックを実行します。削除されたか、初期化されていない(つまり、疎な配列の)インデックスプロパティに対しては呼び出されません。

警告lengthプロパティは、配列内の項目の実際の数を反映するものではありません。配列の最大のインデックスを構築します。

lengthプロパティは、配列内の最も高いインデックスよりも常に数値的に大きい符号なし32ビット整数を表します。

アレイと長さと希薄部分の使用を理解するために、この部分をご覧になることをお勧めします。Relationship between length and numerical properties

var arr =[]; 
 

 
arr[2] = 'greg'; 
 
console.log(arr.length);  // 3 
 

 
arr.forEach(function (a, i) { 
 
    console.log(i, a);   // 2 greg 
 
});

関連する問題