2012-05-08 66 views
1

我有一个创建对象的类。然后通过for()循环将其中的10个对象放入数组中。在类是if()声明定义点击移动以及用户是否点击一个对象或空的空间:定义数组对象属性

if (distance < this.properties.radius) { 
    removeEnabled = true; 
    this.manageClick(); 
} else { 
    removeEnabled = false; 
    this.properties.alpha = 0; 
} 

我会得到什么代码,用于发现阵列内的项目是否有removeEnabled = true,或者如果它有removeEnabled = false?然后执行单独的功能,如果它是真的,或者它是假的?

回答

1

你可能只是removeEnabled属性添加到您的对象:

obj.removeEnabled = true/false; 

,那么你可以从阵列读取与obj并检查其removeEnabled财产

1

如果设置

removeEnabled = true 

this.removeEnabled = true 

它设置为对象的属性,然后在你的for循环,你只需做到这一点:

for (var i = 0; i < objects.length; i++) { 
    if (objects[i].removeEnabled) { 
     // enter required code 
    } 
} 
+0

最后添加的对象上这只是行为......我也认识到,如果在其中一个对象array has removeEnabled = true,那么发生什么事 –

+0

你究竟是什么意思?在if语句中设置this.removeEnabled是否在类的构造函数代码中?所以当你检查数组并检查当前对象(objects [i])时,如果它具有removeEnabled == true,那么它应该适用于每个对象而不仅仅是最后一个对象。你是否有链接到你的完整代码? –

+0

我认为丹尼尔的回答很有意义。如果您可以提供更多有关它所创建的“班级”和“对象”的信息,那么我们可能会提供更好的答案 – JamieJag