JS/Es6 如何合并两个数组并覆盖其对象中的值

Ste*_*ieB 4 javascript ecmascript-6

假设我有一个像这样的数组

let arrayOne = [{text="one", value=0},{text="two", value=0}]
let arrayTwo = [{text="two", value=5}]
Run Code Online (Sandbox Code Playgroud)

因此arrayOne将始终是我想要的整个对象集,但所有值都将为 0。arrayTwo将具有该数组的子集,但始终具有值集。我想要的是,如果arrayTwo对象存在,arrayOne则将值复制到该arrayOne对象。

所以最后我想要

let arrayOne = [{text="one", value=0},{text="two", value=5}]
Run Code Online (Sandbox Code Playgroud)

我做了类似的事情,但我觉得我缺少一些 es6 的魔力。

for (let orig of arrayOne) {
                arrayTwo.find(item => {
                    if (item.value == orig.value) {
                        Object.assign(orig, item);
                    }
                })
            }
Run Code Online (Sandbox Code Playgroud)

Est*_*ask 5

这是

arrayOne = arrayOne.map(item1 => {
  return Object.assign(item1, arrayTwo.find(item2 => {
    return item1.text === item2.text
  }))
})
Run Code Online (Sandbox Code Playgroud)