ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で 2 つの配列の違いを見つけるにはどうすればよいですか?

JavaScript で 2 つの配列の違いを見つけるにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-20 02:39:16265ブラウズ

How Can I Find the Difference Between Two Arrays in JavaScript?

JavaScript での 2 つの配列の違いの確認

はじめに:

配列の違いの確認2 つの配列は JavaScript の一般的なタスクです。違いは、一方の配列には存在するが、もう一方の配列には存在しない要素として定義できます。この記事では、JavaScript の組み込みメソッドを使用してこれを実現するためのいくつかのアプローチを紹介します。

交差と差分:

1 つのアプローチは、Array.prototype.includes() を使用することです。方法。これは、2 つの配列間の交差 (共通要素) と差分の両方を見つけるために使用できます。

Intersection:

let intersection = arr1.filter(x => arr2.includes(x));

このフィルターは、 arr1 と arr1 の両方に共通する要素arr2.

違い:

let difference = arr1.filter(x => !arr2.includes(x));

このフィルターは、arr2.

ではなく、arr1 にのみ存在する要素を含む配列を作成します。 対称的な違い:

さらに、次のことを望むかもしれません。両方の配列の一意の要素で構成される 2 つの配列間の「排他的論理和」(対称差) を決定します。これは、両方の配列の違いを組み合わせることで取得できます:

let symDifference = arr1.filter(x => !arr2.includes(x))
                        .concat(arr2.filter(x => !arr1.includes(x)));

拡張:

使いやすさを向上させるために、Array のカスタム メソッドを定義できます。配列での直接使用を可能にするプロトタイプ:

Array.prototype.diff = function(arr2) { 
  return this.filter(x => !arr2.includes(x)); 
}

この機能強化により、違い:

[1, 2, 3].diff([2, 3]) // [1]

以上がJavaScript で 2 つの配列の違いを見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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