マップ メソッドは、配列内の要素を変換するための JavaScript の強力なツールです。ただし、new Array(count) で作成された配列で使用すると、予期しない結果が発生する可能性があります。
新しい Array(count) 構文は、指定された数の要素を持つ配列を作成します。ただし、これらの要素はデフォルト値で初期化されないため、配列は未定義の値で埋められます。
map メソッドは、配列内の各要素に関数を適用して返します。変更された要素を含む新しい配列。 new Array(count) で作成され、未定義の値が入力された配列の場合、JavaScript では未定義が真であると評価されないため、map メソッドは値を変更しません。
次のコードを考えてみましょう。
var x = new Array(3); console.log(x.map(function() { return 0; }));
このコードは、3 つの未定義要素を含む配列を作成します。マップ メソッドを適用しても要素は変更されず、出力は未定義の値を含む配列のままになります。
この問題を解決するには、配列に任意の値を入力します。 (未定義でも) Array.prototype.fill() を使用します。これにより、map メソッドに使用できる値が確実に含まれるようになります。
var x = new Array(3).fill(undefined); console.log(x.map(function() { return 0; })); // [0, 0, 0]
以上が「new Array(count)」で作成された配列で JavaScript の「map」メソッドが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。