Как сравнить два массива в javascript?

Пользователь

от abel , в категории: JavaScript , 7 месяцев назад

Как сравнить два массива в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от brook , 5 месяцев назад

@abel 

Для сравнения двух массивов в JavaScript можно использовать цикл и метод indexOf().


Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
function areArraysEqual(arr1, arr2) {
  if (arr1.length !== arr2.length) {
    return false;
  }
  for (var i = 0; i < arr1.length; i++) {
    if (arr2.indexOf(arr1[i]) === -1) {
      return false;
    }
  }
  return true;
}


В этом примере функция areArraysEqual принимает два массива arr1 и arr2. Если длины массивов различаются, функция возвращает false. Затем происходит итерация по первому массиву с помощью цикла for. Для каждого элемента массива arr1 метод indexOf вызывается на массиве arr2. Если метод возвращает -1, то значит текущий элемент из arr1 не найден в arr2, и функция возвращает false. Если все элементы массива arr1 найдены в arr2, то функция возвращает true.


Примечание: Этот подход будет работать только если элементы массивов не являются объектами. Если элементы массивов - объекты, вам нужно реализовать более сложное сравнение, чтобы проверить, что элементы имеют одинаковые свойства и значения.