2017-03-19 2 views
1

Ich bin neu zu reagieren und Javascript und ich habe einige Schwierigkeiten bei der Bewältigung einer Aufgabe. Lass uns anfangen. Ich habe und Array wie folgt: Kunden = [ „Alex“, „Jimmy“] und dann erstelle ich ein anderes Array mit dem folgenden Weg:Iteration in einem Objekt in react.js

for (var i = 0; i < clients.length; i++) { 
    var portf = Object.keys(obj.portfolios); 
} 

Als Ergebnis für jeden ia portf Array mit dem folgenden erstellt wird Werte: für i = 0 portf = 1,2,3 und für i = 1 portf = 4,5,6 ich von Objekten mit dem folgenden Format Iteration erstellen und Array wollen:

var ops = [{ 

    label: "Alex", 
    options: [ 
     {value: 1}, 
     {value: 2}, 
     {value: 3} 
    ], 
    label: 'Jimmy', 
    options: [ 
     {value: 4}, 
     {value: 5}, 
     {value: 6} 
    ] 

Do weißt du wie das geht?

+0

'Object.keys (obj.portfolios)' das gleiche für jedes 'I' sein wird. Wie bekommen Sie '1,2,3' und' 4,5,6'? – dfsq

+0

Ich habe eine tief verschachtelte Kartenstruktur. Das Client-Array enthält die Schlüssel der Karte. Der Portf wird mit dieser Prozedur erstellt: for (var i = 0; i user7334203

Antwort

1

können Sie Array.prototype.map verwenden:

const opts = clients.map(client => { 
    const obj = clients.getIn([client]); 
    const portf = Object.keys(obj.portfolios); 

    return { 
    label: client, 
    options: portf.map(value => ({ value })) 
    } 
}) 
+0

Nizza! Danke vielmals. Es war einfacher als ich dachte: P – user7334203