ホームページ >ウェブフロントエンド >jsチュートリアル >「new Array(count)」で作成された配列で「map」が失敗するように見えるのはなぜですか?
特定のブラウザでは、new Array(count) を使用して配列を作成し、それにマップ メソッドを適用しようとすると、予想外の結果。この動作の背後にあるメカニズムを理解することが重要です。
new Array(count) は、count 個の要素を含む配列を初期化し、すべて未定義に初期化します。したがって、配列は空に見えても、実際には一連の未定義の値が含まれています。
map メソッドを配列に適用すると、指定された関数を配列内の各要素に適用して新しい配列が作成されます。元の配列。示されている例では、関数は単純に 0 を返します。
new Array(count) で初期化された配列に対して呼び出された場合、map メソッドは未定義の値の配列を返すため、効果がないように見えます。これは、マップ関数が元の配列内の未定義の値に適用され、未定義の値の新しい配列が作成されるためです。
この問題を解決するには、配列要素を特定の値で初期化することができます。未定義。マップを適用する前に Array.prototype.fill() メソッドを使用します。
以上が「new Array(count)」で作成された配列で「map」が失敗するように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。