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}
]
我有两个数组包含的对象,我需要将元素(对象)放入第一个数组 怎么做 ?带下划线的 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}
]