javascript 中判斷兩個數組相等有兩種方法:嚴格相等 (===) 和深度相等。嚴格相等僅在兩個數組引用同一內存位置時返回 true,而深度相等(使用 lodash.isequal 函數)會遞歸比較數組中的每個元素,包括嵌套數組和對象,并返回 true 以表示深度相等。
JavaScript 中判斷兩個數組相等的兩種方法
1. 嚴格相等 (===)
最簡單的方法是使用嚴格相等運算符 (===):
const arr1 = [1, 2, 3]; const arr2 = [1, 2, 3]; if (arr1 === arr2) { console.log("數組相等"); } else { console.log("數組不相等"); }
登錄后復制
此方法僅在兩個數組完全相同(引用同一內存位置)時返回 true。如果兩個數組包含相同的值但不是同一對象,則返回 false。
2. 深度相等(使用庫)
對于需要比較復雜對象(例如嵌套數組或對象)的情況,可以使用第三方庫(如 lodash)提供深度相等比較功能。Lodash 提供的 isEqual 函數可以用于深度比較數組:
const lodash = require("lodash"); const arr1 = [1, 2, [3, 4]]; const arr2 = [1, 2, [3, 4]]; if (lodash.isEqual(arr1, arr2)) { console.log("數組相等"); } else { console.log("數組不相等"); }
登錄后復制
isEqual 函數遞歸比較數組中的每個元素,包括嵌套數組和對象。它返回 true,表明兩個數組深度相等。