为什么有时 map 会返回含 undefined 的数组?


var numbers = [1, 2, 3, 4];
var filteredNumbers = numbers.map(function(num, index) {
  if(index < 3) {
     return num;
  }
});
 console.log(filteredNumbers ) // [1, 2, 3, undefined]

分析原因:

因为 map 方法总是需要有返回值,如果你没有给一个明确的返回值,那么返回值将是 undefined。

换句话说,你不能用 map 生成一个不同长度的新数组。(map 的原数组是多少长度,返回的数组就有多少长度)

见下图,一一对应的关系:

posted @ 2022-11-07 16:57  SultanST  阅读(45)  评论(0编辑  收藏  举报