Имеет ли javascript sort () побочный эффект? - PullRequest
0 голосов
/ 25 июня 2018

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: Невозможно прочитать свойство 'sort' из null Чего не хватает?

1 Ответ

0 голосов
/ 27 июня 2018
    if (arr === null || arr2 === null || arr.length !== arr2.length) {
    return false;
}

Добавление вышеупомянутого перед оператором return гарантирует, что нулевое значение не будет отсортировано, что я и сделал. Спасибо всем, кто поделился своими идеями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...