从数组中提取值并将其转换为字符串的最佳方法是什么(允许 ES6)?

sta*_*der 3 javascript arrays string ecmascript-6

我正在尝试采用这样的数组:

location: [
  {Id: "000-000", Name: "Foo"}, 
  {Id: "000-001", Name: "Bar"}, 
  ..etc
]
Run Code Online (Sandbox Code Playgroud)

提取 Id 并将它们组合成单个字符串,同时在每个值前面附加静态字符串(“&myId=”)的最有效/最干净的方法是什么?

更简洁地说,将上述数组转换为以下最终结果的最有效方法是什么:

&myId=000-000&myId=000-001
Run Code Online (Sandbox Code Playgroud)

正如标题中所述,如果 ES6 提供了实现此目的的最佳方法,则可以使用它。

Cer*_*nce 5

使用reduce,提取每个Id

const location2 = [{Id: "000-000", Name: "Foo"}, {Id: "000-001", Name: "Bar"}];
console.log(
  location2.reduce((a, { Id }) => `${a}&myId=${Id}`, '')
);
Run Code Online (Sandbox Code Playgroud)

虽然这非常干净,并且只需要对每个项目进行一次迭代,但就效率而言,for如果数组中有大量项目,循环的性能仍然更高:

const location2 = [{Id: "000-000", Name: "Foo"}, {Id: "000-001", Name: "Bar"}];
let output = '';
for (let i = 0, { length } = location2; i < length; i++) {
  output += '&myId=' + location2[i].Id;
}
console.log(output);
Run Code Online (Sandbox Code Playgroud)