oneArray 的对象 + twoAarray 的对象到 oneArray 和 oneArray

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

本文关键字:oneArray 对象 twoAarray      更新时间:2023-09-26

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


Plain 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 将数组转换为以字段值为键的对象,然后 extend 执行我们想要的操作。最后,值将其变回数组。

结果-

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