TilesArray.tiles输出错误,alert(TilesArray.array);给我带随机数的正确输出,但最后TilesArray.tiles在每个索引中都有相同的数组。

for (i = 0; i < 200; i++) {
    for (j = 0; j < 200; j++) {
        TilesArray.array[j] = (Math.round(Math.random() * 499 + 1));
    }
    alert(TilesArray.array);
    TilesArray.tiles[i] = TilesArray.array;
}


有解决此问题的解决方案吗?

最佳答案

您需要复制阵列。可以用slice()完成

for (i = 0; i < 200; i++) {
    for (j = 0; j < 200; j++) {
        TilesArray.array[j] = (Math.round(Math.random() * 499 + 1));
    }
    alert(TilesArray.array);
    TilesArray.tiles[i] = TilesArray.array.slice(0);
}

关于javascript - JavaScript数组出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4884112/

10-09 20:43