2016-02-08 2 views
-2

У меня есть два объекта с массивами, и мне нужно поместить элементы (объекты) в первый массив Как это сделать? mybe с подчеркиванием?объекты oneArray + объекты 2Aarray и 1Array


+0

пожалуйста добавьте некоторые данные и код, который вы пробовали. –

+0

Возможный дубликат [Как объединить два массива в Javascript и де-дублирующие элементы] (http://stackoverflow.com/questions/1584370/how-to-merge-two-arrays-in-javascript-and-de-duplicate -Предметы) –

ответ

3

Обычная JS:

arr = [1,2,3,4] 
arr1 = [6,7] 
arr = arr.concat(arr1) 

Использование подчеркивания

arr = [1,2,3,4] 
arr1 = [6,7] 

arr.push(arr1) 
arr = _.flatten(arr) 
1

подчеркивание/lodash не требуется

var numbers = [1, 2, 3]; 
 
var letters = ['a', 'b', 'c']; 
 
var numbers = numbers.concat(letters); 
 

 
document.write(JSON.stringify(numbers));

0

Если вы хотите объединить два объекта contaning массива, вам нужно выбрать поле объекта, с которым вы хотите объединиться.

array1 = [ 
{field: 'username', display: 'username', hide: true}, 
{field: 'age', display: 'Age', hide: true}, 
{field: 'height', display: 'Height', hide: true} 
] 

array2 = [ 
{field: 'username', display: 'username 123', hide: false}, 
{field: 'age', hide: false} 
] 

Подчеркивание -function-

_.values(_.extend(_.indexBy(array1, 'field'), _.indexBy(array2, 'field'))) 

Мы используем indexBy превратить массивы в объекты введенные пользователем на значение поля, а затем продлить это то, что мы хотим. Наконец, значения возвращают его в массив.

результат -

array3 = [ 
{field: 'username', display: 'username 123', hide: false}, 
{field: 'age', display: 'Age', hide: false}, 
{field: 'height', display: 'Height', hide: true} 
] 
Смежные вопросы