【问题标题】:object values spread into each other对象值相互传播
【发布时间】:2019-04-13 14:14:53
【问题描述】:

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

我怎样才能像这样合并这个对象的对象值:

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

【问题讨论】:

  • 请添加您拥有的和想要的。第一个无效。
  • 你的对象无效,你可以有重复的键,所以在这种情况下你最终只能得到最后一个值
  • 仅供参考,a 的值将与作业右侧的值不同。言归正传,可以多传几遍,点赞{ ...object1, ...object2 },希望对你有帮助。

标签: javascript ecmascript-6 babeljs


【解决方案1】:

您可以分配展开的值。

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

console.log(result);

【讨论】:

    【解决方案2】:

    您可以使用Object.valuesreduce

    const a = { _: { a: 1 }, __: { b: 2 }, ___: { c: 3 } }
    
    let op = Object.values(a).reduce((op,inp) => ({...op,...inp}) ,{})
    
    console.log(op)

    附注:-请记住,... 只会在您需要深度克隆更多嵌套对象时才会进行浅拷贝

    【讨论】:

      猜你喜欢
      • 2012-10-18
      • 2011-04-11
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2012-02-08
      相关资源
      最近更新 更多