Object.assign() 方法用于將所有可枚舉屬性的值從一個或多個源對象復(fù)制到目標(biāo)對象,它將返回目標(biāo)對象熊户。
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 }, 注意目標(biāo)對象自身也會改變。
實際問題中我是做了map處理,變成返回多個obj躯护,所以想著如何合并多個object
但最后發(fā)現(xiàn),其實直接定義個全局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"}