ホームページ > ウェブフロントエンド > jsチュートリアル > Array.fill() が 2 次元配列に共有参照を作成するのはなぜですか?

Array.fill() が 2 次元配列に共有参照を作成するのはなぜですか?

Susan Sarandon
リリース: 2024-12-03 11:18:09
オリジナル
992 人が閲覧しました

Why Does Array.fill() Create Shared References in Two-Dimensional Arrays?

Array.fill() は値ではなく参照をコピーします

Array.fill() で 2 次元行列を初期化しようとすると、内部配列が参照を共有し、予期しない結果を引き起こす問題が発生する可能性があります。

これに対処するにはArray.from():

let m = Array.from({length: 6}, () => Array(12).fill(0));

m[0][0] = 1;
console.log(m[0][0]); // Outputs 1, as expected
console.log(m[1][0]); // Outputs 0, as intended
ログイン後にコピー

このアプローチでは、値によるコピーの内部配列を作成し、1 つの配列への変更が他の配列に影響を与えないようにすることができます。それぞれの内部配列は個別のオブジェクトであり、必要な独立性を提供します。

以上がArray.fill() が 2 次元配列に共有参照を作成するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート