Предположим, что у меня есть класс, называемый loopObject
, и я инициализирую каждый объект через что-то вроде var apple = new loopObject();
. Все равно, чтобы пройти через все объекты класса, чтобы некоторые функции выполнялись с каждым объектом как параметр? Если нет прямого метода, есть ли способ разместить каждый новый объект в массив при инициализации?Петля через все объекты класса
1
A
ответ
2
Вы можете создать массив, который содержит все экземпляры, как это:
function LoopObject() {
LoopObject.all.push(this);
}
LoopObject.all = [];
Однако, это утечка памяти - ваши экземпляры никогда не выходят из области видимости.
1
function loopObject(){
this.name = 'test'
};
var list = [], x = new loopObject, y = new loopObject;
list.push(x)
list.push(y)
for (var i = list.length; i--;) {
alert(list[i].name)
}
0
var allObjects [] = new Array();
function loopObject() {
...
allObjects.push(this);
}
Тогда можно цикл по всем элементам allObjects
по мере необходимости с помощью allObjects.length
.
+2
Это именно то, что я ответил, за исключением того, что 'allObjects' является глобальным. – SLaks
Смежные вопросы
- 1. Петля через все цвета?
- 2. Петля через все листы
- 3. Итерация цикла через все объекты класса
- 4. петля макроса через все листы
- 5. Петля через все отмеченные флажки
- 6. петля через все контроллеры на угловом объекте
- 7. Петля через массив для проверки атрибута класса
- 8. Итерация через объекты из класса
- 9. Петля через набор
- 10. Петля через все кнопки в QButtonGroup
- 11. Петля через все элементы в каждом контейнере
- 12. Петля через все комбинации трансформации столбцов DataFrame
- 13. Петля через все ресурсы в ResourceManager - C#
- 14. Петля через все схемы в Talend
- 15. Петля через все «виджеты»/элементы в действии
- 16. Петля через все параметры, переданные шаблону Twig
- 17. Петля через все розетки в Socket.io v1
- 18. Петля через все комбинации элементов мультимножества
- 19. Петля через все определенные переменные jquery
- 20. Петля через все строки и график MATLAB
- 21. Петля через все элементы в таблице mySQL
- 22. Петля через все кластеры расширенного графена Unicode
- 23. Foreach петля через ObservableCollection
- 24. PHP cURL, чтобы передать все «Объекты класса»?
- 25. Loop через объекты класса - Visual basic
- 26. петля через массив, чтобы найти определенное слово, затем распечатать все объекты, содержащие слово
- 27. Петля через календарные недели
- 28. NSOutlineView: Развернуть все объекты только определенного класса
- 29. Поместить все объекты класса в список
- 30. Как повлиять на все объекты класса? (Java)
Почему это было приостановлено? – SLaks
Не читал бы весь массив снизу и удалял каждый элемент после использования, убивая экземпляр и сохраняя память? – fny
@faraz: Если вы знаете, когда его убить, да. Однако каждый раз, когда вы вызываете 'new LoopObject()' и не убиваете его, вы будете течь. Не забудьте убить внутри блока 'finally'. – SLaks