当array.map
返回undefined
时,通常是因为回调函数没有返回值。在Array.map
中,回调函数应该返回一个新的元素,以替换原始数组的对应元素。
以下是一个示例,展示了array.map
返回undefined
的问题以及解决方法:
const array = [1, 2, 3, 4, 5];
// 错误示例:回调函数没有返回值
const newArray = array.map((element) => {
// 没有返回值,会导致map返回undefined
});
console.log(newArray); // [undefined, undefined, undefined, undefined, undefined]
// 正确示例:回调函数返回一个新的元素
const newArray2 = array.map((element) => {
return element * 2; // 返回每个元素的两倍
});
console.log(newArray2); // [2, 4, 6, 8, 10]
在正确的示例中,回调函数返回了每个元素的两倍,这样array.map
返回一个新的数组[2, 4, 6, 8, 10]
。