Array.from 方法 return 具有未定义值而不是实数的数组

Array.from method return an array with undefined values instead of real numbers

我写了下面的代码:

let abcd= Array.from({length:7},(curr,i)=> { console.log(curr,i);  i+1;})
console.log(abcd); // returns [undefined *7]

我不明白为什么abcd没有初始化为1到7?

您需要 return 这个值,您只是在递增它而不是 return 它,因此添加了 undefined

const result = Array.from({ length: 7 }, (curr, i) => i + 1 );
console.log(result)

传递给 array.from 的函数的值 return 被添加到数组中。在这里你没有 returning 任何东西所以它自动 return undefined 你得到包含 7 undefined

的数组

let abcd= Array.from({length:7},(curr,i)=> {
  console.log(curr,i); 
  return i+1;
})
console.log(abcd); // returns [undefined *7]

我创建这样的数组以使用扩展运算符和 map()

的更好方法

let abcd = [...Array(7)].map((x, i) => i + 1)
console.log(abcd); // returns [undefined *7]