ホームページ > ウェブフロントエンド > jsチュートリアル > 2 つの JavaScript オブジェクト配列の違いを見つける方法

2 つの JavaScript オブジェクト配列の違いを見つける方法

Susan Sarandon
リリース: 2024-12-18 01:12:09
オリジナル
454 人が閲覧しました

How to Find the Difference Between Two JavaScript Arrays of Objects?

JavaScript でのオブジェクトの配列の違いの決定

オブジェクトの 2 つの配列を対比するという概念は、データ セットを比較するときによく発生します。この記事では、2 つの配列間で個別の要素を抽出し、特定のオブジェクトのプロパティを確実に保持する方法について説明します。

次の入力配列を考えてみましょう:

Result 1:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" },
    { value: "4", display: "Ryan" }
]

Result 2:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" }
]
ログイン後にコピー

望ましい結果は、これらの配列の差です。これにより、結果 1:

[
    { value: "4", display: "Ryan" }
]
ログイン後にコピー

の一意の要素のみを含む配列が生成されます。JavaScript には、これをエレガントに実現できるネイティブ メソッドが用意されています。 タスク。プロパティに基づいてオブジェクトの同等性を評価する比較関数を定義すると、onlyInLeft() 関数を利用して、左側 (元の) 配列にのみ存在する要素を識別できます。これと同じプロセスを右側の (新しい) 配列に適用できます。

const isSameUser = (a, b) => a.value === b.value && a.display === b.display;

const onlyInA = onlyInLeft(result1, result2, isSameUser);
const onlyInB = onlyInLeft(result2, result1, isSameUser);

const result = [...onlyInA, ...onlyInB];
ログイン後にコピー

結果変数には、2 つの入力配列間の区別を含む配列が含まれます。このアプローチは、比較のために特定のプロパティを保持しながらオブジェクトの配列を比較する柔軟なソリューションを提供します。

以上が2 つの JavaScript オブジェクト配列の違いを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート