Combinaison de deux tableaux pour former un objet javascript

J'ai deux tableaux:

var columns = ["Date", "Number", "Size", "Location", "Age"];

var rows = [["2001", "5", "Big", "Sydney", "25"],["2005", "2", "Med", "Melbourne", "50"],["2012", "20", "Huge", "Brisbane", "80"]];

Je suis en train de les combiner dans un objet javascript pour chaque élément dans les lignes de la matrice. Après cela, j'ai envie de pousser chaque objet dans un nouveau tableau.

Comme:

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);

Je peux le faire quand je sais les noms des colonnes, mais j'ai besoin d'être capable de stocker les données de cette façon, lorsque le nom de la colonne est inconnue - c'est à dire basée sur les indices du tableau de colonnes.

Je l'ai essayé comme ça avant:

       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)
       }

Le code ci-dessus ne sont stockées que le premier élément, encore et encore (selon les lignes.la longueur).

Je ne comprends pas comment combiner les noms de colonne avec les lignes pour créer un tableau d'objets. Le fait que les "rangs" contient des tableaux est particulièrement déroutant..

source d'informationauteur tamarasaurus