首頁 > web前端 > js教程 > 主體

如何在 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 ,透過先檢查兩個物件擁有的屬性數量來比較它們。如果它們不同,則不能將這些物件視為相等。

接下來,它檢查第一個物件 (p) 的每個屬性,並驗證其值是否與第二個物件中對應的屬性值相符。如果任何屬性值不同,則物件不相等。

例如:

<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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!