Javascriptコピー配列

| | | | | | | | | | | | | | | | | | | | | |

JavaScript では、配列のコピーは、代入演算子(=)を使用して複製を作成するほど簡単ではありません。これを以前に試したことがある場合は、元のリストにのみリンクしていることに驚かれることでしょう。問題は何ですか?

このガイドでは、JavaScript配列をコピーする方法について説明します。配列のコピーを開始できるように、3つのJavaScript配列コピー戦略のコードを見ていきます。

JavaScript配列のコピーに関する問題

あるレベルでは、 "= &Rdquo;オペレーターは、新しい変数に配列のコピーを作成します。ただし、これはコピーというよりはポインタです。これは、「=」演算子が元の配列への参照を作成するためです。既存のテーブルの複製は作成されません。

試してみましょう割り当て演算子を使用して、他のコードなしで配列のコピーを作成します。

私たちのコードは次を返します:

Iテーブルがコピーされたようです。 「Fruit」には、「berry」配列のすべての値が含まれています。

次に、「fruits」配列フォルダに要素を追加してみましょう。

フルーツシリーズに「メロン」を追加しました。次に、「fruits」と「berrys」の値をコンソールに出力します。

「フルーツ」と「ベリー」の両方に同じ値が含まれています。これは、技術的にはベイのクローンを作成していないためです。これへの参照を作成しました。

「berry」配列を操作するたびに、「fruits」配列のフィールドで変更が行われます。

JavaScript配列をコピーする方法

代入演算子は配列をコピーしません。別のアプローチを使用する必要があります。私たちにとって幸運なことに、絵のコピーを作成する方法はたくさんあります。 3つの主なアプローチは次のとおりです。

  • スプレッド演算子の使用
  • forループの使用
  • Array.fromの使用

Let`s

スプレッド演算子の使用

スプレッド演算子は、JavaScript ES6で導入された機能です。これは、.iterableからのコンテンツへのアクセスを提供します。この演算子は、次の目的でよく使用されます。配列の浅いコピーを作成する

演算子spreadには、楕円(…)として3つのポイントがあります。以前の「ベリー」配列のコピーを作成しましょう:

Spread演算子を使用して、配列のコピーを作成しました。配列の値を確認します。 o正しいことを確認してください:

コードは次を返します:

値とldquo; Melon"は"fruits"Carrierにのみ追加されました。実際、ブロードキャスト演算子を使用して複製ベクトル" berries "を作成しました。現在、テーブル"fruit"は独自のテーブルです。彼の値はテーブル"berry"で区切られています。 。

ループの使用

実績のあるforループの使用は、絵画のコピーを作成するための良い方法です。

これメソッドは複数行のコードを必要とするため、伝播演算子としては好ましくない場合があります。ただし、forループはオブジェクトをコピーします。

ベリーとフルーツの2つのリストを宣言しました。フルーツは最初は空のリストです。forループを使用して、lのすべての要素を繰り返し処理しました。 iste "berries"。リスト内の各アイテムについて、値が"fruit"配列フォルダーにコピーされます。

実行してみましょう配列が分離されているかどうかをテストします。

コードは次を返します:

成功! 「ベリー」と「フルーツ」は2つの別々のテーブルです。

Array.from()の使用

メソッドArray.from ()は、反復可能なオブジェクトを配列に変換します。反復可能なオブジェクトの各要素を介して、それを新しい配列に追加します。これは、配列のコピーに使用できることを意味します。

「berry」配列のコピーを再度作成します。

このソリューションは、spread演算子の構文と同様に、2行のコードのみを必要とします。これは効率的でテーブルをコピーする簡潔な方法次に進みましょう;sテストを実行して新しい配列を確認します:

コードは次を返します:

テーブルが正常にコピーされました。

結論

JavaScriptで配列をコピーする方法を知っていれば、簡単です。

別のバージョンを作成する場合は、代入演算子だけでは配列をコピーできません。配列。これは、代入演算子が既存の配列へのポインターを作成するためです。新しいテーブルは作成されません。

Spread演算子、forループ、または Array.from()メソッドを使用して、配列のコピーを作成できます。これで、エキスパートのようにJavaScriptでテーブルをコピーする準備が整いました。