No.0010
题干
js
let arr = Array(3);
arr[0] = 2;
arr.map(function(elem){ return '1'})
console.log(arr)题解
js
// [2, empty × 2]首先,程序使用
Array(3)创建了一个长度为 3 的空数组,然后给第一个元素赋值为 2,所以数组arr变成了[2, empty, empty]。然后,使用
map()方法对每个元素应用一个函数,这个函数的作用是返回字符串1。但是,map()方法只会对有值的元素执行函数,对于空元素,它会跳过并保持原样。所以,数组中只有第一个元素被替换为1,其他两个元素仍然为空。因此,到这一步返回的新数组就变成了[‘1’, empty, empty]。最后,使用
console.log()打印出数组arr的内容。由于数组 map 方法没有接返回值,所以并不能改变原数组,所以打印出来的结果是[2, empty × 2]。。。。

