对象值相互传播

时间:2019-04-13 14:14:54

标签: javascript ecmascript-6 babel

我有const a = { _: { a: 1 }, __: { b: 2 }, ___: { c: 3 } }

如何像这样合并该对象的对象值:

我想要结果:{ a:1, b: 2, c: 3}

2 个答案:

答案 0 :(得分:4)

您可以分配传播的值。

const
    a = { _: { a: 1 }, __: { b: 2 }, ___: { c: 3 } },
    result = Object.assign({}, ...Object.values(a));

console.log(result);

答案 1 :(得分:2)

您可以使用Object.valuesreduce

const a = { _: { a: 1 }, __: { b: 2 }, ___: { c: 3 } }

let op = Object.values(a).reduce((op,inp) => ({...op,...inp}) ,{})

console.log(op)

侧面说明:-请注意,...仅在需要嵌套更多嵌套对象时才会进行浅表复制