JS-使用 Object.assign合并多个Object对象

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它将返回目标对象。

var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, 注意目标对象自身也会改变。

实际问题中我是做了map处理,变成返回多个obj,所以想着如何合并多个object
但最后发现,其实直接定义个全局params,然后在map方法里依次加到params里就好了.就不用考虑合并多个obj了

e.g.
let params = {}
let formList = [{key:'a', value:'v0'},{key:'b', value:'v1'},{key:'c', value:'v2'}]
formList.forEach((item,index)=>{
    params[item.key] = item.value
})
console.log(params)  // {a: "v0", b: "v1", c: "v2"}

故上面的Object.assign 套用例子可以是

e.g.1 
let formList = [{'a':'v0'},{'b':'v1'},{'c':'v2'}]
let obj1 = Object.assign(formList[0], formList[1], formList[2])
console.log(obj1)  // {a: "v0", b: "v1", c: "v2"}
    
e.g.2
let params = {}
let formList = [{'a':'v0'},{'b':'v1'},{'c':'v2'}]
formList.forEach((item,index)=>{
    params[Object.keys(item)[0]] = Object.values(item)[0]
})
console.log(params) // {a: "v0", b: "v1", c: "v2"}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 主要的用途是用来合并多个JavaScript的对象。 Object.assign()接口可以接收多个参数,第一个参...
    小棋子js阅读 1,797评论 0 0
  • Object.assign是ES6新添加的接口,主要的用途是用来合并多个JavaScript的对象。 Object...
    独行侠_ef93阅读 3,911评论 0 3
  • Object.assign()方法用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 ...
    执著_7a69阅读 1,869评论 0 2
  • Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 l...
    Light_shallow阅读 564评论 0 1
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 130,129评论 2 7

友情链接更多精彩内容