初始化数组
1. 数组元素为原始类型
// 字面声明
const arr = [1,1,1];
// const arr = new Array(3).fill(1);
const t = [];
// const t = new Array();
2. 数组元素为引用类型
// 字面声明
const arr = [[1,2],[1,2]];
// 此时有两种方法用new Array()将arr每个元素初始化为[1,2]
// 1. fill()
const arr = new Array(2).fill([1,2]);
// 此时arr每个元素都是同一个[1,2]数组地址的引用值,相当于浅拷贝,数组[1,2]发生改变则arr每一项跟着改变
arr[0].push(3);//arr:[[1,2,3],[1,2,3]];
// 2. map()
const arr = new Array(2).fill().map(e => [1,2]);
// 与fill()不同的是,map()对arr的每个元素都声明了一个新数组为[1,2],相当于深拷贝
// * 注意此处直接使用new Array(2)则map无元素可以遍历,map()无法遍历稀疏数组中的缺失元素。
// 3. 也可使用Array.from({length:2}).map(e => [1,2]);