javascript sort()有副作用吗?

时间:2018-06-25 15:20:46

标签: javascript sorting

function comp(arr1, arr2){
    let arr = [];
    
    for (const i of arr1) {
        arr.push(i*i);
    }
    arr1 = arr;
    return arr1.sort().toString() === arr2.sort().toString();
}
console.log(comp([2,4,5],[25,16,4]));//true

如果两个数组具有相同的元素,则与上面的代码无关,上述代码将返回true。但是,当我针对codewar提供的测试用例运行它时,它在通过所有其他测试后一直返回该值。

  

TypeError:无法读取null的属性“ sort”   缺少什么?

1 个答案:

答案 0 :(得分:1)

    if (arr === null || arr2 === null || arr.length !== arr2.length) {
    return false;
}

在return语句之前添加以上内容可确保不对空值进行排序,这是我犯的错误。 感谢所有贡献他们想法的人。