ホームページ >ウェブフロントエンド >jsチュートリアル >2 つの JavaScript 配列をマージして一意の項目のみを保持する方法

2 つの JavaScript 配列をマージして一意の項目のみを保持する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-24 05:40:19248ブラウズ

How to Merge Two JavaScript Arrays and Keep Only Unique Items?

固有の項目を持つ 2 つの JavaScript 配列のマージ

配列のマージはプログラミングでは一般的なタスクですが、結果として得られる配列を確実にしたい場合は、少し複雑になることがあります。ユニークなアイテムのみが含まれます。この記事では、2 つの JavaScript 配列を元の順序を維持し、重複する要素を排除しながらマージする方法を検討します。

2 つの JavaScript 配列について考えます。

var array1 = ["Vijendra", "Singh"];
var array2 = ["Singh", "Shakya"];

私たちの目標は、新しい配列を作成することです。 array1 と array2 の両方の一意の要素を含む配列、array3。正しい出力は次のようになります。

["Vijendra", "Singh", "Shakya"]

これを実現するには、JavaScript の組み込み配列メソッドの組み合わせを活用できます。

単純な配列のマージ

重複を削除せずに 2 つの配列を単純にマージするには、 concat() を使用できます。 method:

var array3 = array1.concat(array2);
console.log(array3); // ["Vijendra", "Singh", "Singh", "Shakya"]

これにより、array1 と array2 の両方のすべての要素を含む新しい配列が作成されます。ただし、重複は除去されません。

重複排除によるマージ

配列のマージ中に重複を除外するには、reduce() を組み合わせて使用​​できます。 include() メソッド:

var array3 = array1.reduce((acc, curr) => !acc.includes(curr) ? acc.concat(curr) : acc, []);
var array4 = array3.concat(array2.filter(x => !array3.includes(x)));
console.log(array4); // ["Vijendra", "Singh", "Shakya"]

このコードでは、array1 でreduce()を使用して新しい配列を作成しますユニークな要素のみが含まれています。次に、この新しい配列を array2 のフィルタリングされた要素と連結し、重複が確実に削除されるようにします。

以上が2 つの JavaScript 配列をマージして一意の項目のみを保持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。