Tengo dos matrices:La combinación de dos matrices para formar un objeto Javascript
var columns = ["Date", "Number", "Size", "Location", "Age"];
var rows = [["2001", "5", "Big", "Sydney", "25"],["2005", "2", "Med", "Melbourne", "50"],["2012", "20", "Huge", "Brisbane", "80"]];
Estoy tratando de combinarlos en un objeto de javascript para cada elemento de la matriz filas. Después de eso, quiero insertar cada objeto en una nueva matriz.
igual:
var newarray = [];
//'thing' should be the same structure for each row item
var thing = {
"Date" : "2001",
"Number" : "5",
"Size":"Big",
"Location":"Sydney",
"Age":"25"
}
newarray.push(thing);
puedo hacer esto cuando sé los nombres de las columnas, pero tengo que ser capaz de almacenar los datos de esta manera, cuando el nombre de la columna es desconocido - es decir, en base a la índices de la matriz de columnas.
lo intenté como esto antes:
for(var y = 0; y < rows.length; y++){
for(var i = 0; i < columns.length; i++){
thing[columns[i]] = rows[i][i];
}
newarray.push(thing)
}
El código anterior sólo se almacena el primer punto una y otra vez (según rows.length).
No entiendo cómo combinar los nombres de columna con las filas para crear una matriz de objetos. El hecho de que 'filas' contenga matrices es especialmente confuso.
Gracias, lo intentó de esa manera, y estoy teniendo el mismo problema. Ver: [JSFiddle] (http://jsfiddle.net/tamarasaurus/V42Hx/). ¿Me estoy perdiendo de algo? – tamarasaurus
@tamarasaurus, ¿viste mi última actualización? Agregué una parte especificando que necesitas establecer 'var thing = []' cada iteración del ciclo. Su JSFiddle no muestra eso. –
Ver http://jsfiddle.net/V42Hx/2/ con el cambio agregado. Parece funcionar. –