js判斷兩個對象是否相同的三種方式


(1).把兩個對象轉譯成字符串進行對比

 1 JSON.stringify(object1) === JSON.stringify(object2);  

這個方法只適用於完全相同的,即鍵-值順序都完全對應的對象。

對於鍵-值一樣,但順序不一樣的對象,可以采用方法(2)

(2).Object.keys()

 1     // 列出所有的鍵,接着遍歷數組
 2     function ifCompare(object1, object2) {
 3       var o1keys = Object.keys(object1);
 4       var o2keys = Object.keys(object2);
 5       if (o2keys.length !== o1keys.length) return false;
 6       for (let i = 0; i <= o1keys.length - 1; i++) {
 7         let key = o1keys[i];
 8         if (!o2keys.includes(key)) return false;
 9         if (object2[key] !== object1[key]) return false;
10       }
11       return true;
12     }

 

(3).ES6

 1 Object.entries(object1).toString() === Object.entries(object2).toString(); 

  

還有lodash 的 isEqual 函數(沒用過)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM