javascript - JavaScript 数组的问题

标签 javascript

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/

相关文章:

Javascript 突出显示当前页面

javascript - 使用带有 AJAX 的解析 REST API 时代码 107 无效 JSON

javascript - 输入时每 2 分钟触发一次事件

javascript - iScroll获取父Div的高度

javascript - 我怎样才能等到两个ajax请求完成?

javascript - 无法使用 jQuery animate() 使元素对 Angular 移动

javascript - 我不明白 Handlebars.js 自述文件中的这个 "block helpers"示例

javascript - 我可以将一个函数变成一个变量以减少我的代码吗(请调试 JavaScript 代码)

javascript - 为什么 -1**2 是 JavaScript 中的语法错误?

javascript - 澄清 XSS(跨站脚本)预防备忘单中的规则之一