给定以下数组,如何编写ES6表达式以返回所有名字

eva*_*van 2 javascript arrays ecmascript-6

const ducks = [
   { first: 'Stan', last: 'duck' },
   { first: 'Steve', last: 'duck' },
   { first: 'Kyle', last: 'duck' },
];
Run Code Online (Sandbox Code Playgroud)

我试过了

const ducks = [
  { first: 'Stan', last: 'duck' },
  { first: 'Steve', last: 'duck' },
  { first: 'Kyle', last: 'duck' },
];

console.log(ducks, [3]); 
Run Code Online (Sandbox Code Playgroud)

这回归太多了:

[...]                                     [3]
  0: {first: "Stan", last: "duck"}          0: 3
  1: {first: "Steve", last: "duck"}         length: 1
  2: {first: "Kyle", last: "duck"}          __proto__: Array(0)
  length: 3
  __proto__: Array(0)
Run Code Online (Sandbox Code Playgroud)

需要它返回的名称"Stan","Steve"以及"Kyle"只.

ibr*_*rir 8

您只是记录数组和另一个包含数字3的数组.您的代码与此相同(虽然在控制台中分为两行):

console.log(ducks);
console.log([3]);
Run Code Online (Sandbox Code Playgroud)

您应该使用map函数来获取所有名字的数组,如:

let firstNames = ducks.map(duck => duck.first);
console.log(firstNames);
Run Code Online (Sandbox Code Playgroud)

如果您只想记录名称,那么使用forEach如下:

ducks.forEach(duck => console.log(duck.first));
Run Code Online (Sandbox Code Playgroud)