2016-03-20 15 views
1

Ich habe 2 Arrays wie:javascript: Merge 2 Arrays mit Immobilien und Index

a1 = ["k1","k2","k3"]; 
a2 = ["v1","v2","v3"]; 

Und ich möchte, dass:

a3 = ["k1": { myv: "v1" }, "k2": { myv: "v2" }, "k3": { myv: "v3" }]; 

ich forEach verwendet wie:

a1.forEach(function(elem, i) { 
    a3.push(elem); 
    a3[i].name = a2[i]; 
}); 

Aber es funktioniert nicht, es gibt mir:

a3 = ["k1","k2","k3"]; 

Also, wie kann ich das tun?

Bitte helfen Sie mir.

+0

was für 'myv' Eigenschaft Stand ist? – Zamboney

+0

wollen Sie wirklich ein Array? –

Antwort

3

Mit einer geeigneten Datenstruktur und einer einzelnen Schleife, müssen Sie dies:

var a1 = ["k1", "k2", "k3"], 
 
    a2 = ["v1", "v2", "v3"], 
 
    result = {}; 
 

 
a1.forEach(function (a, i) { 
 
    result[a] = { myv: a2[i] }; 
 
}); 
 
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');