Как узнать, имеют ли два массива одинаковые значения

У меня есть два массива: один заполнен информацией из запроса ajax, а другой хранит кнопки, на которые нажимает пользователь. Я использую этот код (я набрал номера образцов):

var array1 = [2, 4];
var array2 = [4, 2]; //It cames from the user button clicks, so it might be disordered.
array1.sort(); //Sorts both Ajax and user info.
array2.sort();
if (array1==array2) {
    doSomething();
}else{
    doAnotherThing();
}

Но он всегда дает false , даже если два массива одинаковы, но с разными именами. (Я проверил это в консоли Chrome JS). Итак, есть ли способ узнать, содержат ли эти два массива то же самое? Почему выдает ложное ? Как я могу узнать, каких значений в первом массиве нет во втором?

84
задан alex 7 March 2016 в 16:27
поделиться

1 ответ

Ответ после долгого времени, но надежды это поможет кому-то кто, ища простое решение и современных новичков.

Теперь мы можем достигнуть этого пользующегося несколькими библиотеками как lodash, underscore, и т.д. (Они становятся частью проекта в наше время из-за простоты, нескольких функций и высокого использования)

, можно использовать пересечение из lodash библиотеки.

_.intersection(['2-1', '1'], ['2-2', '3-1', '2-1']); 
// => ['2-1']

Это будет работать на любой тип данных..

0
ответ дан 24 November 2019 в 08:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: