oneArray 的对象 + twoAArray 的对象到 oneArray 的对象

oneArray's objects + twoAarray's objects to and of oneArray

我有两个数组包含的对象,我需要将元素(对象)放入第一个数组 怎么做 ?带下划线的 mybe?


普通 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)

不需要下划线/lodash

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

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

如果要合并两个包含对象的数组,必须选择要合并的对象字段。

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}
]

下划线-函数-

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

我们使用 indexBy 将数组转换为以字段值为键的对象,然后扩展做我们想要的。最后,values 将其转回数组。

结果 -

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