我正在创建一个基于文本的蹩脚游戏,我希望每个盒子都能够拥有任何东西,玩家,怪物或健康包。我有一组像这样的对象:
var squares = [
square1 = { //each square with its own number
player:false,
monster:false,
healthPack:false
},
square2 = {
player:false,
monster:false,
healthPack:false
}
];
如果其中任何一个在广场上我将其更改为true,我想知道如何检查是否已经为真。
这就是我想知道的:
for ( var i in sqaures[x] ) {
if( what do i put here??? == true ) return;
}
或者是否有其他预先写好的方式?
答案 0 :(得分:0)
也许是这样的辅助函数。
的Javascript
function isSquareTrue(square) {
var i;
for (i in square) {
if (square.hasOwnProperty(i) && square[i]) {
return true;
}
}
return false;
}
var squareXX = { //each square with its own number
player: false,
monster: false,
healthPack: false
}
console.log(isSquareTrue(squareXX));
在 jsfiddle
上更新:对于更改的问题,演示数组中的方块
的Javascript
function anySquaresTrue(arrayOfSquares) {
var length,
index,
property,
square;
for (index = 0, length = arrayOfSquares.length; index < length; index += 1) {
square = arrayOfSquares[index];
for (property in square) {
if (square.hasOwnProperty(property) && square[property]) {
return true;
}
}
}
return false;
}
var squares = [{ //each square with its own number
player: false,
monster: false,
healthPack: false
}, {
player: false,
monster: false,
healthPack: false
}];
console.log(anySquaresTrue(squares));
在 jsfiddle
上答案 1 :(得分:0)
var squareXX = { //each square with its own number
player:false,
monster:false,
healthPack:true
}
for (key in squareXX) {
if (squareXX[key] == true){
alert("true is a " + key);
}
}
试试这段代码。 如果警告为true,则为healthPack。
答案 2 :(得分:-1)
你的意思是这个吗?
if ((player) || (monster) || (healthPack)) {...