Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Фильтрация и объединение массивов (https://javascript.ru/forum/dom-window/74337-filtraciya-i-obedinenie-massivov.html)

s24344 03.07.2018 08:30

Фильтрация и объединение массивов
 
Ребята, подскажите, как решить следующую задачу:
У меня, предположим есть массив с объектами:
let arr = [
	{src: "1.jpg", thumb: "1.jpg"},
	{src: "2.jpg", thumb: "2.jpg"},
	{src: "3.jpg", thumb: "3.jpg"},
	{src: "4.jpg", thumb: "4.jpg"},
	{src: "5.jpg", thumb: "5.jpg"},
	{src: "6.jpg", thumb: "6.jpg"},
]


и еще один массив с объектом:

let a = [
	{src: "4.jpg", thumb: "4.jpg"}
]


Мне необходимо, чтобы, например, при событии click объект (значение) второго массива всегда было первым значением первого массива, чтобы результат был следующим:

let new_arr = [
	{src: "4.jpg", thumb: "4.jpg"},
	{src: "1.jpg", thumb: "1.jpg"},
	{src: "2.jpg", thumb: "2.jpg"},
	{src: "3.jpg", thumb: "3.jpg"},
	{src: "5.jpg", thumb: "5.jpg"},
	{src: "6.jpg", thumb: "6.jpg"},
]


Подскажите, пожалуйста, как мне решить эту задачу.

рони 03.07.2018 09:05

s24344,
let new_arr = a.concat(arr.filter(function(b) {
 return a[0].src != b.src
}))

s24344 03.07.2018 10:40

Спасибо.


Часовой пояс GMT +3, время: 23:32.