Объясните зачем нужен цикл for в данном примере. (Задача с codewars , нужно сравнить два массива arr1 и arr2)
Всем привет! Помогите разобраться в задачке с codewars. Я только начал изучать JS(выучил теорию), теперь пытаюсь практиковаться на codewars в решении задач. И я не могу никак понять, зачем нужен цикл for с переменной i, которую мы сравниваем с длинной массива (arr1.length), а затем в итерации увеличиваем эту переменную на 1 (i++).Т.e, каким образом Цикл for помогает в данном случае сравнить два массива? Скрин с условием задачи:условие задачи
Решение задачи:
function arraysSimilar(arr1, arr2) {
if(arr1.length !== arr2.length) {
return false;
}
arr1.sort()
arr2.sort()
for (let i = 0; i < arr1.length; i++){
if(arr1[i] !== arr2[i]) return false;
}
return true
}
Ответы (2 шт):
Ну тут всё просто. i это счётчик, i < arr.length - условие выхода из цикла по длине массива, i++ увелечение счётчика на единицу перед следующей итерацией. Сам цикл сравнивает между собой элементы массива с одинаковым порядковым номером. Если они отличаются - значит массивы содержат разные значения.
Мне кажется, это проверка идентичности двух массивов. То есть,
if(arr1.length !== arr2.length) {
return false;
}
Это условие заканчивает функцию, если массивы разной длины.
arr1.sort()
arr2.sort()
это сортирует оба массива.
for (let i = 0; i < arr1.length; i++){
if(arr1[i] !== arr2[i]) return false;
}
а это проверяет массивы на идентичность и если какой либо элемент 1ого массива не равен элементу 2ого массива, то сравнение прошло неудачно, в противном случае
return true
означает, что сравнение прошло удачно и все элементы массива равны, то есть они идентичны.