Вход

Просмотр полной версии : добавить элемент в массив, принадлежащий объекту


gorda
08.11.2015, 21:01
функция addElem принимает объект, куда вставлять переменную item, и group - название свойства класса Image, в которое нужно этот item добавить.
То есть, если current_tags[0] содержит три пустых массива, а я вызываю addElem(current_tags[0], year, "2015"), нужно найти current_tags[0].year и в конец этого массива добавить "2015".

не знаю, в чем ошибка, push не добавляет, обращение через элемент с индексом length тоже ничего не дает. подскажите, пожалуйста, как правильно записать значение

function Image(name, category, year, author){
this.name = name;
this.category= category;
this.year= year;
this.author= author;
return this;
} ;

var current_tags=[]
for(i=0;i<3;i++){
current_tags[i] = new Image("",[],[],[])
delete current_tags[i].name;
}

function addElem(obj, group, item) {
for(var key in obj){
if(key==group)
{
obj.key[obj.key.length]=item;
}
}
}

gorda
08.11.2015, 21:24
разобралась...
function Image(name, category, year, author){
this.name = name;
this.category= category;
this.year= year;
this.author= author;

this.addElem = function(group, item){
for(var key in this){
if(key==group)
{

this[group].push(item);
alert(this[group]);
}
}
}
return this;
} ;

Mess4me
08.11.2015, 21:27
var b = 6;
var obj = {
a: [2,4,5]
};

for( var key in obj){
obj[key].push(b)
}

alert(obj.a);