!newB.has(x)))" では、差分セット要素がセット コレクションに含まれて返されます。 3. 配列を使用します。 from セットを配列に変換するタイプ、構文は「Array.from(collection)」です。"/> !newB.has(x)))" では、差分セット要素がセット コレクションに含まれて返されます。 3. 配列を使用します。 from セットを配列に変換するタイプ、構文は「Array.from(collection)」です。">
ホームページ > 記事 > ウェブフロントエンド > es6 の 2 つの配列で異なる項目を見つける方法
手順: 1. 構文 "newA=new Set(a);newB=new Set(b);"; を使用して、2 つの配列をそれぞれセット型に変換します。 2. has() と filter( ) 差分セットを見つけるための構文は、「new Set([...newA].filter(x =>!newB.has(x)))」です。差分セット要素はセット コレクションに含まれ、 return; 3. Array .from を使用すると、コレクションが配列型に変換されます。構文は「Array.from (collection)」です。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
2 つの配列内の異なる項目を見つけることは、2 つの配列の差を取得することです。
es6 では、set オブジェクトの has() メソッドを使用して 2 つの配列間の違いを見つけることができます。
実装手順:
ステップ 1. 2 つの配列をセット型に変換します
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b);
ステップ 2: 違いを見つける set
set オブジェクトの has() メソッドを配列の filter() と組み合わせて使用して、違いを見つけます2 つの配列セットの差。
Set has() メソッドは、Set オブジェクトに指定された値が含まれているかどうかを示します。指定された値が存在する場合は true を返し、存在しない場合は false を返します。
filter() メソッドは、配列をフィルターし、条件 (true) を満たす要素を返すために使用されます。
実装コード
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b); console.log(newA); console.log(newB); let differenceABSet = new Set([...newA].filter(x => !newB.has(x))); console.log("差集为:"); console.log(differenceABSet);
この時点では、差分集合の要素が集合集合に含まれており、返された場合は、配列型に変換できます。
ステップ 3: Array.from メソッドを使用してコレクションを配列型に変換します
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b); console.log(newA); console.log(newB); let differenceABSet = Array.from(new Set([...newA].filter(x => !newB.has(x)))); console.log("差集为:"); console.log(differenceABSet);
説明: 配列。 from メソッドが使用されます。 2 種類のオブジェクトを実際の配列に変換します。配列のようなオブジェクトと反復可能なオブジェクト (ES6 の新しいデータ構造 Set と Map を含む)。
知識の拡大:和集合/交差の検索
let a = new Set([1, 2, 3]); let b = new Set([3, 5, 2]); // 并集 let unionSet = new Set([...a, ...b]); //[1,2,3,5] // ab交集 let intersectionSet = new Set([...a].filter(x => b.has(x)));
[関連する推奨事項: JavaScript ビデオ チュートリアル 、Web フロントエンド ]
以上がes6 の 2 つの配列で異なる項目を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。