Страницы

Поиск по вопросам

пятница, 17 мая 2019 г.

Функция сравнения массивов выдаёт true для отличающихся массивов

При таком коде функция возвращает true
function areArraysSame(array1, array2) { if (array1.length !== array2.length) { return; } for (var i = 0; i < array1.length; i++) { if (array1[i] !== array2[i]) { return false; } else { return true; } } } alert(areArraysSame([1, 2, 3], [1, 2, 2]));


Ответ

Нельзя возвращать true внутри цикла, пока еще есть непроверенные элементы массивов.
function areArraysSame(array1, array2) { if (array1.length !== array2.length) { return false; } for (var i = 0; i < array1.length; i++) { if (array1[i] !== array2[i]) { return false; } } return true; } console.log(areArraysSame([1, 2, 3, 4], [1, 2, 2, 4])); console.log(areArraysSame([1, 2, 3, 4], [1, 2, 3, 4])); console.log(areArraysSame([1, 2, 3, 4], [1, 2, "3", 4]));

Комментариев нет:

Отправить комментарий