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矩陣
- python如何比較兩個字串是否相等Python字串
- 比較兩個陣列中是否有相同的元素陣列
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- Js 比較兩個物件的鍵名與鍵值是否相等JS物件
- 一個比較float是否相等的工具類
- 透過反射對比兩個物件是否相等反射物件
- 比較兩個table是否相同
- 對比兩個圖片是否相等用什麼方法?
- 判斷陣列裡面的json 物件是否相等,相等則移除陣列JSON物件
- python3中怎麼比較字串是否相等Python字串
- js判斷兩個物件是否相等JS物件
- JavaScript判斷兩個變數是否相等JavaScript變數
- PAT-B 1083 是否存在相等的差【陣列】陣列
- java 兩個列表的元素是否相等且各自元素數量相等Java
- JavaScript 中,如何判斷兩個物件是否相等?JavaScript物件
- 一個陣列和另一個陣列比較,如果第一個陣列裡面有的就不新增了陣列
- js物件陣列Date的比較JS物件陣列
- 【Java】浮點數相等性比較Java
- 比較兩個物件是否相同,輸出不同的屬性值(一)物件
- 分割陣列的幾種方法比較陣列
- JavaScript比較兩個時間JavaScript
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- 【遞迴打卡1】在兩個長度相等的排序陣列中找到上中位數遞迴排序陣列
- 將兩個有序陣列合併為一個有序陣列陣列
- 兩個有序陣列如何合併成一個有序陣列陣列
- 合併兩個有序陣列陣列
- C# 實現一個基於值相等性比較的字典C#
- 如何判斷JavaScript中的兩變數是否相等?JavaScript變數
- pandas比較兩個文件的差異
- Javers 比較兩個類的差異
- 判斷一個陣列是否排好序陣列
- Rust與Java程式碼比較:將二維陣列轉為三維陣列RustJava陣列
- 比較檔案是否相同,(比較MD5值)
- 求陣列中是否存在滿足特定和的兩個數字(python & Js)陣列PythonJS
- 列舉比較
- 88、合併兩個有序陣列陣列