同じ配列内の他のオブジェクトへの参照を持つオブジェクトの配列など、複雑なデータ構造を操作する場合、真のディープ コピーを作成します挑戦的になる可能性があります。さまざまなアプローチを見てみましょう:
ディープ コピーの最新のソリューションは、structuraldClone() を使用します。
array2 = structuredClone(array1);
このメソッドは広範囲をサポートします。多くのデータ型をサポートしており、ほとんどのブラウザでサポートされています。
JSON シリアル化可能なコンテンツを含むオブジェクトの場合、簡単な 1 行の解決策は次のとおりです。
let clonedArray = JSON.parse(JSON.stringify(nodesArray))
ただし、他のものと比較すると、シリアル化不可能なコンテンツとパフォーマンスの問題に関する制限があります。
配列に浅いオブジェクトが含まれている場合、 .map() と組み合わせたスプレッド演算子は、高速かつ効率的なディープ コピーに使用できます。
clonedArray = nodesArray.map(a => ({...a}));
このメソッドは、JSON.parse よりも大幅に優れています。
以上がJavaScript で相互接続されたオブジェクトの配列をディープ コピーする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。