2012-05-08 7 views
1

У меня есть класс, который создает объект. Десять из этих объектов затем помещаются в массив через цикл for(). В классе является 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 

он устанавливается как свойство объекта, а затем в вашем forloop вы просто сделать это:

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

это только действует на последнем добавленного объекта ... Я это признать, если один из объектов в array has removeEnabled = true, тогда что-то происходит –

+0

Что именно вы имеете в виду? установка this.removeEnabled в инструкции if содержится в коде конструктора класса? поэтому, когда вы проверяете массив и проверяете текущий объект (объекты [i]), если он имеет removeEnabled == true, то это должно работать для каждого объекта, а не только для последнего. У вас в противном случае есть ссылка на полный код? –

+0

Я думаю, что ответ Дэниела имеет большой смысл. Если вы можете предоставить больше информации вокруг «класса» и «объектов», которые он создает, тогда мы сможем дать лучший ответ – JamieJag

Смежные вопросы