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” 缺少什么?
答案 0 :(得分:1)
if (arr === null || arr2 === null || arr.length !== arr2.length) {
return false;
}
在return语句之前添加以上内容可确保不对空值进行排序,这是我犯的错误。 感谢所有贡献他们想法的人。