JavaScript判斷兩個數組是否相同

在某些情況下,可能需要判斷兩個數組是否相同,但有時這些數組並不完全由數字組成,可能包含一個或多個字典或數組對象,所以我們需要一個遞歸算法來判斷它們是否相同

當然,我們不能使用===來完成這項任務,下面是我的代碼

export function arrayIdentical(arr1,arr2){
    let loop = (data1, data2) => {
        if (data1 instanceof Object && data2 instanceof Object) {
            if (Object.keys(data1).length !== Object.keys(data2).length) return false;
            for(let item in data1){
            if (!(item in data2)) return false;
            if (!loop(data1[item], data2[item])) return false;
            }
            return true;
        }
        if (data1 === data2) return true;
        return false;
    }
    return loop(arr1, arr2);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章