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