2016-07-12 8 views
-2

ich an einem Projekt arbeite, in dem ich ein Array wie diese brauchen:Wie zwei Arrays zu einem Schlüssel-Wert-Paar konvertieren und fügen Sie sie in ein Array

user = [{ 
"name": "foo", 
"email": "[email protected]" 
},{ 
"name": "bar", 
"email": "[email protected]" 
},] 

die Werte Name und E-Mail sind in zwei separate Arrays, wie:

Wie konvertiere ich diese beiden Arrays in einem einzigen Array von Objekten mit vordefinierten Schlüsselname und E-Mail?

ich so etwas wie dies versuchen:

var user = []; 
    for(var i=0; i<names.length; i++) { 
     user[i].name = names[i]; 
     user[i].email = mails[i]; 
    } 

aber dies löst einen Fehler, dass Name Eigenschaft nicht definiert ist.

+3

Es ist eine einfache 'for' Schleife, die Gegenstände auf das Ergebnis Array schiebt. Bitte zeigen Sie, was Sie versucht haben. – Barmar

+0

@isherwood Es ist nichts wie diese Frage. – Barmar

+0

@isherwood Er hat kein Tastenfeld. Beide Arrays enthalten Werte und gehen in das resultierende Array in verschiedene Eigenschaften über. – Barmar

Antwort

0

Sie müssen nur ein Objekt schieben sie aus mames und einer E-Mail auf diese Weise

var names=["foo","bar"]; 
var mails=["[email protected]","[email protected]"]; 
var users = []; 
for(var i=0; i<names.length; i++) users.push({"name" : names[i], "email" : mails[i]}); 
console.log(users); 

Run: 
[ { name: 'foo', email: '[email protected]' }, 
{ name: 'bar', email: '[email protected]' } ] 
Verwandte Themen