【发布时间】:2015-05-18 13:39:41
【问题描述】:
我对以下问题有疑问:
我为一个由棋子组成的游戏制作了一个棋盘。每一块都有自己的 x 和 y 坐标,还有一个布尔值,不管它是不是一条道路,它是否有一个炮塔。
所以这是数组:
var Array = [""];
Array.push({
x: i,
y: j,
road: false,
tower: null,
id: "gamezone"+j+i
});
现在,Array.push 在一个循环中找到,该循环提供信息:该部分有效。现在回答问题:
如何编辑数组中每个对象的某些信息? 例如,某些作品确实有路,所以我所做的是:
Array.push({road: true});
但这并没有做到。 我该怎么做?
第二个问题:
如果我想使用数组对象的一些信息,例如我必须用if (Array(road = true)) then ... 做一个 if-else
我认为这不是从数组中获取信息的正确方法,所以请帮助我。
如果你有任何关于这样做的文档,介意给一个链接吗?
非常感谢!
【问题讨论】:
-
使用名称
Array作为变量名有点混乱,因为Array也是[]的JavaScript 类型。 -
Array是实际数组对象的保留术语。具有该名称的变量会在该范围内覆盖它,这可能会导致代码稍后出现异常。我强烈建议更改变量名。 -
我这里只是举个例子。我不正常使用它。
-
对于棋盘游戏,二维数组会是更好的数据结构:
var board = []; for(var i = 0; i < n; i++) {board[i] = []; for(var j = 0; j < n; j++) {board[i][j] = {}}},然后您可以使用board[x][y]获取/设置值。 -
已更新 jsfiddle.net/m654rf0s/1(控制台行已注释掉)
标签: javascript arrays if-statement get set