Object.assign() 和对象数组

The*_*asn 1 javascript arrays spread-syntax

我有一个像这样的嵌套数组

const names= [[{name: "John"}, {name: "Mary"}],
           [{name: "Paul"}, {name: "Peter"}]];
Run Code Online (Sandbox Code Playgroud)

我想注入country到嵌套对象中

const country = {country :"USA"}
Run Code Online (Sandbox Code Playgroud)

这样输出看起来像

[{name: "John", country : "USA"}, {etc} ,{etc} ]
Run Code Online (Sandbox Code Playgroud)

代码的想法是这样的

const combined = names.map((map)=> 
       Object.assign({}, 
              country, 
              /*something to extract name from nested array names*/),
       {country}
         )
Run Code Online (Sandbox Code Playgroud)

有什么建议我可以如何将对象传播到嵌套数组中以形成所需的输出?

如果可以通过其他方式改进代码,也请告诉我

Mam*_*mun 5

您可以flat()在使用之前创建一个新数组,其中所有子数组元素都连接起来,map()如下所示:

const names= [[{name: "John"}, {name: "Mary"}],
           [{name: "Paul"}, {name: "Peter"}]];
const country = {country :"USA"}
const combined = names.flat().map(p => Object.assign(p, country));
console.log(combined);
Run Code Online (Sandbox Code Playgroud)