希望生成高维数组下面的赋值是错误的let arr_1=new Array(11).fill(0)let arr_2=new Array(13)arr_2.fill(arr_1)循环赋值let arr=new Array(13);for(let i=0;i<13;i++){ arr[i]=new Array(11).fill(0)}JS想生成高维数组只能通过循环赋值吗?有没有什么比较好的思路或方法
2 回答
互换的青春
TA贡献1797条经验 获得超6个赞
借用joy钰的思路
let arr=new Array(10).fill(0).map(v=>new Array(10).fill(0));
JS数组初始化需要注意空位的问题
// ES5对空位的处理很不一致,大多数情况下会忽略空位
// forEach,filter,every,some,map都会跳过空位
// join,toString会将空位视为undefined,而undefined和null会被处理为空字符串
// ES6明确规定将空位转为undefined
// Array.from,...运算符,fill,for...of遍历,entries,keys,values,find,findIndex都会将空位处理成undefined
// 由于空位的处理规则非常不统一,所有建议避免出现空位
添加回答
举报
0/150
提交
取消