2017-03-19 26 views
1

我是新來的反應和JavaScript,我有一些應對任務的困難。讓我們開始吧。我已經和陣列是這樣的: 客戶= [「亞歷克斯」,「麥」],然後我創建具有以下方式的另一數組:ite.js中的對象中的迭代

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

至於每IA PORTF陣列與下面創建的結果值: 對於i = 0 PORTF = 1,2,3和對於i = 1個PORTF = 4,5,6 我想創建並具有以下格式對象數組使用迭代:

var ops = [{ 

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

待辦事項你知道如何做到這一點?

+0

'Object.keys(obj.portfolios)'將是相同的,每'i'。你如何得到'1,2,3'和'4,5,6'? – dfsq

+0

我有一個深層嵌套的地圖結構。客戶端數組包含地圖的鍵。 portf用這個過程創建:for(var i = 0; i user7334203

回答

1

您可以使用Array.prototype.map

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

不錯!非常感謝。這比我想象的更容易:P – user7334203