希望生成高维数组
下面的赋值是错误的
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想生成高维数组只能通过循环赋值吗?有没有什么比较好的思路或方法
希望生成高维数组
下面的赋值是错误的
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想生成高维数组只能通过循环赋值吗?有没有什么比较好的思路或方法
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答820 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
借用joy钰的思路
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
// 由于空位的处理规则非常不统一,所有建议避免出现空位