Como
jsonLista
es un array (por el uso del método
push
), tendrías que recorrerlo y buscar al objeto cuyo
id
sea igual al del objeto al se desea añadir edificios y una vez hallado, los añades, aunque pienso que sería mejor que la propiedad
edificios
sea un array.
Código Javascript
:
Ver originalvar jsonLista = [],
add = function (identificador, calle){ //Función para añadir objetos
jsonLista.push({
id: identificador,
literal: calle,
edificios: []
});
},
edit = function(identificador, buildings){ //Función para añadir edificios
for (var i = 0, l = jsonLista.length; i < l; i++){
if (jsonLista[i].id == identificador){ //Cuando se halle al objeto
for (var j = 0, m = buildings.length; j < m; j++){
jsonLista[i].edificios.push(buildings[j]); //Le añado cada edificio
}
break; //Y salgo del bucle
}
}
};
//Creo objetos con sus identificadores y calles y los añado al array jsonLista
add("Foo", "Calle Foo");
add("Bar", "Calle Bar");
add("Bin", "Calle Bin");
add("Baz", "Calle Baz");
//Envío los identificadores de los objetos a editar junto al conjunto de edificios en un array
edit("Bar", ["Edificio Bar 1", "Edificio Bar 2"]);
edit("Bin", ["Edificio Bin 1", "Edificio Bin 2", "Edificio Bin 3"]);
edit("Bin", ["Edificio Bin 4", "Edificio Bin 5"]);
Y, del mismo modo, puedes añadir, editar, eliminar y listar propiedades de cada objeto.
Saludos