相关疑难解决方法(0)

如何深度合并而不是浅合并?

无论Object.assign对象传播只能做一浅合并.

问题的一个例子:

// No object nesting
const x = { a: 1 }
const y = { b: 1 }
const z = { ...x, ...y } // { a: 1, b: 1 }
Run Code Online (Sandbox Code Playgroud)

输出是你所期望的.但是如果我试试这个:

// Object nesting
const x = { a: { a: 1 } }
const y = { a: { b: 1 } }
const z = { ...x, ...y } // { a: { b: 1 } }
Run Code Online (Sandbox Code Playgroud)

代替

{ a: …
Run Code Online (Sandbox Code Playgroud)

javascript spread-syntax

289
推荐指数
22
解决办法
14万
查看次数

合并具有相同键的 2 个对象,来自 2 个数组的值

我想合并具有相同键的 2 个对象,来自 2 个数组的值,如下所示:

var arr1 = [
    { a: "a", 1: 1, 2: 2 },
    { a: "b", 1: 1, 2: 3 }
];

var arr2 = [
    { a: "a", 3: 123 },
    { a: "b", 3: 4411 }
];

var arr3 = _.map(arr1, function(a1) {
    var a3 = {};

    _.map(arr2, function(a2) {
        if (a1.a == a2.a) {
            a3 = _.extend(a1, a2);
        }
    })

    return a3
});
Run Code Online (Sandbox Code Playgroud)

结果:

arr3 = [ 
  { '1': 1, '2': 2, '3': …
Run Code Online (Sandbox Code Playgroud)

javascript arrays object node.js lodash

3
推荐指数
1
解决办法
7621
查看次数

标签 统计

javascript ×2

arrays ×1

lodash ×1

node.js ×1

object ×1

spread-syntax ×1