Answer

Answer

t.me/js_test

Ответ:

function isArraysElementsEqual(a, b) {
    if (a === b) return true;
    if (a.length !== b.length) return false;

    a.sort();
    b.sort();

    return String(a) == String(b);
}

Объяснение:

Проверяем на то что a и b это не одна ссылка, проверяем на совпадение длинны обоих массивов. Далее сортируем оба массива с помощью стандартного метода sort. В конце приводим оба массива к строке, то есть соединяем все элементы в строку, и сравниваем.

Код для проверки:

function isArraysElementsEqual(a, b) {
    if (a === b) return true;
    if (a.length !== b.length) return false;

    a.sort();
    b.sort();

    return String(a) == String(b);
}

console.log(isArraysElementsEqual([1, 3, 2, 4], [1, 2, 3]));
console.log(isArraysElementsEqual([1, 2, 3], [3, 2, 1]));
console.log(isArraysElementsEqual([NaN, true, "22"], ["22", true, NaN]));
console.log(isArraysElementsEqual([false, NaN, "22"], ["22", true, NaN]));

Report Page