首页 > 解决方案 > 如何在javascript中填充多维数组?

问题描述

我试图让它工作,但外循环在第二次迭代后停止,并且它之后的所有内容都没有执行(就像它是脚本的结尾一样)。我想用任何字符填充二维数组(这里我以'q'为例)

var A=[[],[]];
for(var i=0;i<12;i++){
    for(var j=0;j<81;j++){
        A[i][j]='q';
    }
}

它没有用,所以我alert(i+' '+j);看看它是否正在执行,并且,正如我之前写的,它在外循环的第二次迭代后停止,然后忽略脚本的其余部分。

我想要的只是让这个数组在给定范围内填充相同的字符(在这种特定情况下为 12 行,81 列),所以如果这种方法没有希望,我会很高兴看到一个有效的方法。

标签: javascriptarraysloops

解决方案


Array.from() 方法从类数组或可迭代对象创建一个新的、浅拷贝的 Array 实例。

function createAndFillTwoDArray({
  rows,
  columns,
  defaultValue
}){
  return Array.from({ length:rows }, () => (
      Array.from({ length:columns }, ()=> defaultValue)
   ))
}

console.log(createAndFillTwoDArray({rows:3, columns:9, defaultValue: 'q'}))


推荐阅读