Я новичок в объектной модели JavaScript (прототип на основе), и я пытаюсь сделать следующее:Вопрос о объекте/массиве Javascript?
У меня есть конструктор, который просто инициализирует массив: this.myArray = []
. У меня есть метод:
MyConstructor.prototype.addToArray = function(myObject, type) {
//
};
В принципе мне нужно myArray
быть прикрепленным к конкретному type
. То есть когда вызывается addToArray()
, объект будет добавлен в массив, связанный с type
. Я не хочу заранее знать все возможные типы. Мне также нужно будет добавить методы, которые очищают массив, содержащий объекты определенного типа. Поэтому в принципе, мне кажется, мне нужно каким-то образом создать массивы динамически, связанные с типом.
Любая помощь будет оценена по достоинству.
Я думаю, что мой вопрос запутан, поэтому я попытаюсь уточнить: мой «бизнес-код» создает объекты, которые мне нужно отслеживать. Каждый объект связан с определенным «типом» или «ароматом». Я пытаюсь создать общий объект, который обрабатывает эти ссылки на объекты в массивах (массив для каждого типа) и обрабатывает операции над этими объектами. Затем операции могут выполняться на всех объектах данного типа. Я хочу иметь возможность сделать это, не зная типов раньше времени (т. Е. Не создавать 1 массив для каждого типа в конструкторе).
"Тип" может быть любым. то есть строку «typeA» или «typeB» и т. д., просто способ разграничения между различными классами объектов.
Ваш вопрос сбивает с толку. JavaScript динамически набирается, поэтому на самом деле не так много разных вещей, которые вы вернетесь из ['typeof'] (https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Special_Operators/typeof_Operator). Вы в основном говорите о создании однородных массивов, например. один массив для хранения строк, другой - для хранения чисел и т. д.? –
Имеются ли в ваших бизнес-объектах свойство, идентифицирующее их «тип»? – Ronald