Как сравнить два массива js
Перейти к содержимому

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

Как сравнить два массива объектов

Как сравнить два массива?
Доброго времени суток. В питоне можно сравнить на равенство два массива вот таким образом: .

Как сравнить два массива
Доброго времени суток, помогите решить вроде как легкую часть задания, но что то не выходит. Нужно.

Как сравнить два массива
Здравствуйте форумчане! Помогите пожалуйста, скажите как сравнить два массива побитово и.

Как сравнить два массива?
Доброго времени суток участникам форума. Недавно начал изучать C# и столкнулся с проблемой.

Эксперт JS

6192 / 3433 / 1029
Регистрация: 07.09.2019
Сообщений: 5,495
В данном конкретном случае надо бы наоборот:

1 2 3
const arr3 = arr2.filter(({ lastName }) => arr1.every((item) => lastName !== item.lastName) );

Но напрашивается и обобщённая постановка задачи: для двух массивов найти те элементы, которые содержатся в одном (любом) из них, но не «дублируются» в другом.

32 / 25 / 12
Регистрация: 24.01.2011
Сообщений: 509

ЦитатаСообщение от DrType Посмотреть сообщение

Но напрашивается и обобщённая постановка задачи: для двух массивов найти те элементы, которые содержатся в одном (любом) из них, но не «дублируются» в другом.

задача такая, есть общий массив, через какое то время в него добавляются данные, и мне нужно, чтобы из новых данных добавлялись, только те объекты которых еще нет в общем массиве(в новых данных могут присутствовать объекты, которые уже есть). И еще один момент, нужно сравнение по двум полям.

1115 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,859
Возможно, вам стоит выбрать другую структуру данных, если вы хотите избегать дубликатов.
1696 / 866 / 354
Регистрация: 26.11.2014
Сообщений: 1,764
Записей в блоге: 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
const arr1 = [ { lastName: 'Петров' }, { lastName: 'Иванов' } ] const arr2 = [ { lastName: 'Петров' }, { lastName: 'Иванов' }, { lastName: 'Сидоров' } ] const result = arr2.filter((obj1) => { return !arr1.find(obj2 => obj1.lastName === obj2.lastName) }) console.log(result) // массив, в котором только Сидоров

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как сравнить два строковых массива?
Добрый день. Пробую сравнить два строковых массива, а если точнее надо сравнить 1 строку с первой.

Как сравнить два массива с числами
Есть два обычных массива типа Integer: private int arr1 = new int; private int arr2 = new int;.

Как сравнить два массива и распечатать их?
Здравствуйте, недавно начал изучать delphi, есть вопрос как сранить элементы двух массивов? if.

LINQ сравнить два списка объектов по свойству
Есть два списка (List A и и List B) из объектов типа Document: public class Document

Как сравнить два массива по первым четырём байтам?
Всем здравствуйте. Есть два байтовых массива Dim a As Byte() =

Как сравнить два одномерных массива вещественных чисел?
Объясните, пожалуйста, в чём заключается особенность сравнения двух одномерных массивов.

Как сравнить два двухмерных массива в целом, а не по элементам?
Здравствуйте! Вот такой дурацкий вопрос. У меня условие такое, что если новый массив похож на.

Сравните массивы в JavaScript

В этом посте мы обсудим, как сравнивать массивы в JavaScript. Два массива называются равными, если они содержат одни и те же элементы в одном и том же порядке. Решение должно работать для вложенных массивов любой глубины.

Например, массив [1, 2, [3, [4, 5]]] равен массиву [1, 2, [3, [4, 5]]] пока он отличается от массива [1, 2, [3, 4, 5]] .

1. Использование библиотеки Underscore/Lodash

Если вы уже используете библиотеку Underscore или Lodash, рассмотрите возможность использования _.isEqual метод для проверки равенства массивов. Он выполняет глубокое сравнение между указанными значениями, а также работает для вложенных массивов.

JS сравнение массивов

Давайте попробуем их сравнить при помощи строгого и не строгого сравнения:

console.log(arr1 == arr2); // выведет false console.log(arr1 === arr2); // выведет false

Несмотря на то, что оба массива пусты, они не равны друг к другу, так как, в JavaScript массивы являются объектами, соответственно при сравнении двух объектов, они не будут равны друг другу.

Давайте рассмотрим еще один пример, когда один массив ссылается на другой:

let arr1 = []; let arr2 = arr1; console.log(arr1 == arr2); // выведет true console.log(arr1 === arr2); // выведет true

Как видно из примера, если один массив ссылается на другой, они будут равным. Теперь давайте сравним, что получится, если сравнить массив с самим с собой:

let arr = [1, 2, 3]; console.log(arr == arr); // выведет true

Смотрите также

  • урок
    является ли переменная массивом
  • урок
    очистить массив

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

Прямое сравнение массивов всегда будет давать результат false . Поскольку массив, как объект, указывает на ссылку памяти, где хранится «значение». И эти ссылки всегда будут разными, за исключением случая когда мы сравниваем один и тот же объект (массив).

[1, 2, 3] === [1, 2, 3]; // false [1, 2, 3] > [1, 2, 3]; // false [1, 2, 3]  [1, 2, 3]; // false 
const a = [10, 11]; const b = a; console.log(a === b); // true 

В последнем случае мы сравниваем один и тот же массив и получаем true , т.к. в b скопировалась ссылку на этот массив, а не значение.

26 сентября 2022

Для того чтобы сравнить два массива и получить результат — например список уникальных значений, можно воспользоваться вложенными циклами:

const arr1 = [1,2,3,6,5]; const arr2 = [1,6,7,8]; const result = []; for (let i = 0; i  arr1.length; i++)  for (let j = 0; j  arr2.length; j++)  if (arr1[i] === arr2[j])  result.push(arr1[i]) > > > 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *