所以我试图将数据从一个对象合并到另一个对象中,这是一个数组。我目前正在使用for
循环来添加它们,但我想知道是否还有另一种更快捷的方式,就像使用扩展运算符一样。自从做
theElement = {...theElement, ...toMerge[key]}
显然只是创建一个新对象而不是更新它。
filtered
只是一个例子。该数组可能包含更多元素,我需要根据toMerge
中与key
中的filtered
匹配的键进行合并。
let toMerge = {
1234: {
example: "example1"
},
12345: {
example: "example2"
}
}
let filtered = [
{
key: "1234"
},
{
key: "12345"
}
]
for (let key in toMerge)
{
let theElement = filtered.find( element => element.key == key)
for (let innerKey in toMerge[key])
{
theElement[innerKey] = toMerge[key][innerKey]
}
}
console.log(filtered)

我希望改变的是:
for (let innerKey in toMerge[key])
{
theElement[innerKey] = toMerge[key][innerKey]
}
答案 0 :(得分:0)
不,你不能在这里使用传播语法,但你可以通过迭代if the left("123avd0",2)
而不是枚举filtered
然后使用toMerge
访问元素来优化很多。您也可以用find
:
Object.assign