const compare = (() => {
function compareArray(a, b) {
if (a.length !== b.length) {
return false;
}
const length = a.length;
for (let i = 0; i < length; i++) {
if (!compare(a[i], b[i])) {
return false;
}
}
return true;
}
function compareObject(a, b) {
const keya = Object.keys(a);
const keyb = Object.keys(b);
if (keya.length !== keyb.length) {
return false;
}
return keya.every(key => {
if (!compare(a[key], b[key])) {
return false;
}
return true;
});
}
function compare(a, b) {
if (a === b) {
return true;
}
if (typeof a !== typeof b || a === null || b === null) {
return false;
}
if (Array.isArray(a)) {
if (!Array.isArray(b)) {
return false;
}
return compareArray(a, b);
}
if (typeof a === "object") {
return compareObject(a, b);
}
return false;
}
return compare;
})();
使用方法
a和b都為陣列
console.log(compare(a, b))複製程式碼
比較兩個陣列是否相等
相關文章
- matlab比較兩個矩陣是否相等Matlab矩陣
- shell比較兩個字串是否相等字串
- python如何比較兩個字串是否相等Python字串
- 比較兩個陣列中是否有相同的元素陣列
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- Js 比較兩個物件的鍵名與鍵值是否相等JS物件
- 一個比較float是否相等的工具類
- 透過反射對比兩個物件是否相等反射物件
- 比較兩個table是否相同
- js判斷兩個物件是否相等JS物件
- 判斷陣列裡面的json 物件是否相等,相等則移除陣列JSON物件
- JavaScript判斷兩個變數是否相等JavaScript變數
- js 判斷兩個變數是否相等JS變數
- python3中怎麼比較字串是否相等Python字串
- oracle 比較日期相等Oracle
- java 兩個列表的元素是否相等且各自元素數量相等Java
- JavaScript 中,如何判斷兩個物件是否相等?JavaScript物件
- 陣列分割,把陣列分割成和相等的兩部分--遞迴方法陣列遞迴
- PLSQL Language Referenc-PL/SQL集合和記錄-集合比較-比較巢狀表是否相等SQL巢狀
- PAT-B 1083 是否存在相等的差【陣列】陣列
- 一個陣列和另一個陣列比較,如果第一個陣列裡面有的就不新增了陣列
- Java 兩個日期比較Java
- Same Tree 比較兩個二叉樹是否完全相同二叉樹
- PostgreSQL如何比較兩個表的定義是否一致SQL
- 比較兩個TABLE的資料是否完全一致
- js物件陣列Date的比較JS物件陣列
- 【Java】浮點數相等性比較Java
- lisp 裡的相等(相同)的比較Lisp
- 比較兩個物件是否相同,輸出不同的屬性值(一)物件
- JavaScript比較兩個時間JavaScript
- 分割陣列的幾種方法比較陣列
- PHP的的陣列和比較符PHP陣列
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- ***PHP陣列排序+php二維陣列排序方法(PHP比較器)PHP陣列排序
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- JavaScript比較兩個時間大小JavaScript
- mysql比較兩個日期間隔MySql
- 【遞迴打卡1】在兩個長度相等的排序陣列中找到上中位數遞迴排序陣列