JavaScript でオブジェクトの配列をエレガントに比較する方法

DDD
リリース: 2024-10-20 18:07:31
オリジナル
816 人が閲覧しました

How to Elegantly Compare Arrays of Objects in JavaScript

JavaScript でのオブジェクトの配列の比較: よりエレガントなアプローチ

オブジェクトの配列の比較にはブルート フォース手法が効果的ですが、多くの場合、より洗練されたソリューションです。 JavaScript では、オブジェクトのプロパティの動的な性質のため、オブジェクトの配列の比較には慎重な考慮が必要です。

ただし、この問題に取り組むための簡潔な手法があります。

<code class="js">const objectsEqual = (o1, o2) =>
    Object.keys(o1).length === Object.keys(o2).length 
        && Object.keys(o1).every(p => o1[p] === o2[p]);</code>
ログイン後にコピー

この関数、objectsEqualは、最初にそれらが持つプロパティの数をチェックすることによって 2 つのオブジェクトを比較します。それらが異なる場合、オブジェクトは等しいとはみなされません。

次に、最初のオブジェクト (p) の各プロパティを検査し、その値が 2 番目のオブジェクトの対応するプロパティ値と一致することを検証します。プロパティ値が異なる場合、オブジェクトは等しくありません。

例:

<code class="js">const obj1 = { name: 'John', age: 33};
const obj2 = { age: 33, name: 'John' };
const obj3 = { name: 'John', age: 45 };
        
console.log(objectsEqual(obj1, obj2)); // true
console.log(objectsEqual(obj1, obj3)); // false</code>
ログイン後にコピー

このソリューションは、プロパティの可変数を考慮して、オブジェクトの配列を効率的に比較し、正確な値を保証します。一致します。

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!