问题场景:
const arr = ['临','时','抱','佛','脚'];
const newArr = arr.map((t, i) => {
if (i) return;
return {
text:t,
index:i
}
})
console.log(newArr)
是不是觉得会输出?
[{text: '时', index: 1}
{text: '抱', index: 2}
{text: '佛', index: 3}
{text: '脚', index: 4}]
但是事实上是:
[undefined,
{text: '时', index: 1}
{text: '抱', index: 2}
{text: '佛', index: 3}
{text: '脚', index: 4}]
原因:
map方法总需要有返回值 ,当返回 undefined 或没有返回任何内容时,返回值将是undefined
因此我们不能用map生成一个与其长度不等的数组