Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 二维数组分配中意外的“未定义”元素_Javascript_Multidimensional Array_Ecmascript 6_Nested Loops - Fatal编程技术网

Javascript 二维数组分配中意外的“未定义”元素

Javascript 二维数组分配中意外的“未定义”元素,javascript,multidimensional-array,ecmascript-6,nested-loops,Javascript,Multidimensional Array,Ecmascript 6,Nested Loops,下面是我的完整代码。由于某种原因,它在设置board[2][0]时失败,我不明白为什么。我相信这是件简单的事 函数randColor{ min=Math.ceil0; 最大值=颜色。长度; 返回颜色[Math.floorMath.random*max-min+min]; } 常数colCount=10; const rowCount=10; var board=[],[]; 常量颜色=[f00,0f0,00f]; 班级作品{ 构造函数值、颜色{ 这个值=值; 这个颜色=颜色; } } 对于va

下面是我的完整代码。由于某种原因,它在设置board[2][0]时失败,我不明白为什么。我相信这是件简单的事

函数randColor{ min=Math.ceil0; 最大值=颜色。长度; 返回颜色[Math.floorMath.random*max-min+min]; } 常数colCount=10; const rowCount=10; var board=[],[]; 常量颜色=[f00,0f0,00f]; 班级作品{ 构造函数值、颜色{ 这个值=值; 这个颜色=颜色; } } 对于var x=0;x} 它失败是因为您创建的板不正确。它在2处失败,因为您有[[],[]。如果你有[[]]等等,那么它将在1失败,以此类推

行是外循环,列是内循环。以下内容将满足您的需要

function randColor() {
    min = Math.ceil(0);
    max = colors.length;
    return colors[Math.floor(Math.random() * (max - min)) + min]; 
}

const colCount = 10;
const rowCount = 10;

var board = [];

const colors = ["#f00","#0f0","00f"];

function piece(value, color) {
    this.value = value;
    this.color = color;
}

for (var x = 0; x < rowCount; x++) {
    board[x] = [];
    for (var y = 0; y < colCount; y++) {
        var p = piece('b', randColor());
        console.log("Setting board[" + x + "][" + y + "]");
        board[x][y] = p;
    }
}