ホームページ >ウェブフロントエンド >jsチュートリアル >「new Array(count)」で作成された配列で「map()」が未定義の値を返すのはなぜですか?
new Array(count) で作成された配列上のマップの動作を理解する
JavaScript 配列を使用する場合、特有の動作に注意する必要がありますnew 構文を使用して作成された配列によって表示されます。 Array(count).
以下のコード スニペットに示すように、new Array(count) で作成された疎配列 (未定義の要素を含む配列) に対して map() を呼び出すと、未定義の値の配列が生成されます。 >
var x = new Array(3); x.map(function() { return 0; }); // [undefined, undefined, undefined]対照的に、同じ長さの密な配列 (未定義の要素を含まない配列) に対して同じ操作を実行すると、次のように機能します。 Expected:
var y = [undefined, undefined, undefined]; y.map(function() { return 0; }); // [0, 0, 0]この違いは、 new Array(count) が疎配列を作成するという事実に由来しており、これは要素にデフォルト値を割り当てないことを意味します。その結果、map() は未定義の要素に対して操作を実行できず、未定義の値の配列が作成されます。この問題を解決するには、リテラル配列構文を使用して密な配列を作成するか、明示的にArray.prototype.fill().
などのメソッドを使用して、必要なデフォルト値を含むスパース配列
以上が「new Array(count)」で作成された配列で「map()」が未定義の値を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。