Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
32 / 25 / 12
Регистрация: 24.01.2011
Сообщений: 564

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

27.02.2021, 17:35. Показов 3298. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
let a = [1,2,3,4,5]
let b = [4,5,6,7]
console.log(a)
Code
1
[1,2,3,4,5,6,7]
Как сравнить массивы, чтобы в массив a попали значения 6,7, массив а всегда больше или равен b(может быть пустым).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.02.2021, 17:35
Ответы с готовыми решениями:

Как объединить два одномерных массива в один двумерный?
Приветствую! В JavaScript разбираюсь не особо сильно... в процессе освоения... Столкнулся с трудностями... есть xml-фаил.... ...

Объединить два двумерных массива без повторов
Приветствую. Помогите, плиз, с объединением массивов. Есть массив arr1: и второй массив arr2: В массиве arr1 отсутствуют как...

Как объединить два запроса с разных таблиц в один?
как объединить два запроса с разных таблицы в один сейчас есть вот такой запрос с выводом в таблицу, но как мы видим, таблицы просто...

10
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
27.02.2021, 18:07
JavaScript
1
console.log(a.concat(b.filter(x => !a.includes(x))));
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
27.02.2021, 18:09
Лучший ответ Сообщение было отмечено HAIRY как решение

Решение

Два варианта:
- сделать все элементы уникальными.
- сохранить все повторы элементов ровно в тех количествах, которые были исходно.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        {
            let a = [1, 2, 3, 4, 5];
            let b = [4, 5, 6, 7];
            let set = new Set(a.concat(b))
            a = [...set.values()];
            console.log(a);
        }
        {
            let a = [1, 2, 3, 4, 5];
            let b = [4, 5, 6, 7];
            let tmp = [];
            for (let e of b)
                if (!a.includes(e)) tmp.push(e);
            for (let e of tmp)
                a.push(e);
            console.log(a);
        }
0
32 / 25 / 12
Регистрация: 24.01.2011
Сообщений: 564
27.02.2021, 18:10  [ТС]
А если массив объектов и надо использовать for of?
0
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
27.02.2021, 18:16
HAIRY, покажите конкретный пример, что сделать.
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
27.02.2021, 18:21
Цитата Сообщение от HAIRY Посмотреть сообщение
А если массив объектов и надо использовать for of?
Значит нужно будет задавать правило сравнения объектов. Скорее всего, это будет какое-то свойство, по которому будет идти сравнение.
0
32 / 25 / 12
Регистрация: 24.01.2011
Сообщений: 564
27.02.2021, 18:42  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
HAIRY, покажите конкретный пример, что сделать.
JavaScript
1
2
3
4
5
6
7
let array1 = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}]
let array2 = [{'a': 3, 'b': 4}, {'a': 5, 'b': 6}]
for (const a of array1){
        for(const b of array2) {
            console.log(JSON.stringify(a) !== JSON.stringify(b))
        }
    }
В array1 я получаю массив объектов из БД, в array2 получаю массив объектов с сайта(парсингом), у объектов одинаковое название полей и их количество. Бывает, что с сайта в массив попадают объекты, которые уже есть и которых еще нету, и вот пытаюсь сделать так чтобы, в БД не попадало дубликатов. То есть надо, чтобы функция вернула массив объектов, которых нет в БД.
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
27.02.2021, 18:53
HAIRY,
JavaScript
1
2
3
4
let array1 = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}]
let array2 = [{'a': 3, 'b': 4}, {'a': 5, 'b': 6}]
 
console.log(array1.concat(array2.filter(x => array1.every(y => x.a !== y.a))));
0
32 / 25 / 12
Регистрация: 24.01.2011
Сообщений: 564
27.02.2021, 19:09  [ТС]
Цитата Сообщение от Tavashi Посмотреть сообщение
HAIRY,
спасибо, но я же написал, что надо вывести тех которых нет, т.е. {'a': 5, 'b': 6}
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
27.02.2021, 19:16
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

Цитата Сообщение от HAIRY Посмотреть сообщение
но я же написал, что надо вывести тех которых нет, т.е. {'a': 5, 'b': 6}
JavaScript
1
2
3
4
let array1 = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}]
let array2 = [{'a': 3, 'b': 4}, {'a': 5, 'b': 6}]
 
console.log(array2.filter(x => array1.every(y => x.a !== y.a)));
2
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
05.03.2021, 10:08
HAIRY, решение на второй ваш вопрос уже дано Tavashi для конкретного случая не в общем виде,
но рекомендую в целом поизучать, как взаимодействуют между собой две коллекции:
https://developer.mozilla.org/... operations
На самом деле интересная пища для размышлений - что бывает в таблицах SQL и в C# LINQ.

Конкретно для массивов Array с повторяющимися элементами тоже будет интересно подумать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.03.2021, 10:08
Помогаю со студенческими работами здесь

Как объединить воедино два приложения, написанных для разных групп пользователей
Здравствуйте, есть вопросик :) Вот смотрите есть 2 группы пользователей, например, студент и преподаватель, у них совершенно разные...

Как объединить два массива? (C#)
public GameObject backGrounds; public GameObject otherback; Как можно объединить два этих массива, в один массив?

Как объединить два массива
Добрый день. Пытаюсь объединить два массива $vse_razdely=array(); $vse_razdely_temp=array(); $vse_razdely_temp =...

Объединить два раздела на разных HDD
Доброго времени суток. Интересует вопрос, реально ли объединить 2 раздела из 2х разных HDD в один? Как-то слышал про динамические...

Как объединить два массива в один?
Вот к примеру есть два массива: int A={1,2,3,4}; int B={5,6,7,8}; Как создать третий массив С , в котором будут содержаться...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru