Как получить массив из двух массивов, минуя повторяющиеся элементы?

94
17 февраля 2021, 11:10

Уважаемые не подскажите или не подтолкнете к верному решению. Есть два массива

["школа", "дом", "сад", "колледж"]
["школа", "город", "сад", "колледж", "улица"]

в результате нужен один массив из эти двух, в котором все дубликаты удаляются, то есть в итоге, массив должен быть такой

["школа", "дом", "сад", "колледж", "город", "улица"]

поможет ли метод reduce?

Answer 1

var first = ["школа", "дом", "сад", "колледж"], 
  second = ["школа", "город", "сад", "колледж", "улица"]; 
 
var arr = [...first, ...second]; 
 
var unique = [...new Set(arr)];

С помощью ES6 :)

Answer 2

Для второго массива запускаем цикл, в котором проверяем - существует ли очередной элемент в предыдущем массиве... если нет ( -1 ) — добавляем.

let arr1 = ["школа", "дом", "сад", "колледж"]; 
let arr2 = ["школа", "город", "сад", "колледж", "улица"]; 
 
arr2.forEach(function(e){ 
  if( arr1.indexOf(e) == -1 ){ 
    arr1.push( e ); 
  } 
}); 
 
console.log( arr1 );

READ ALSO
Не отслеживает изменения в watch

Не отслеживает изменения в watch

Так я передаю объект с данными в родительском контроле,который находится в popup окне:

99
Отображение ячеек таблицы

Отображение ячеек таблицы

Есть таблица, в нее по клику будут записываться событияСейчас они пустые, там есть только число месяца

116
Как встроить скрипты в html\css

Как встроить скрипты в html\css

Учусь делать сайт на HTML\CSS и меня попросили встроить пару скриптов(время,дата)Порылся в инете, так и не понял как встроить их в мой сайт

123