2014-10-10 183 views
0

我有一個數據對象,每個對象包含一個tags數組,我想循環遍歷該對象並獲取每個對象標記,然後組合這些值,最後在完成循環時將這些值組合成一個名爲selections的數組。目前,我無法解決這個問題,我嘗試將標籤推入數組,然後使用下劃線_.union方法,並嘗試將每個循環數組連接到1,但沒有成功。任何人都可以推薦解決方案如何將對象數組值組合到一個數組中?

小提琴:http://jsfiddle.net/24qh7zfv/3/

JS

var selection = []; 

var data = ([ 
    { 
     role: "Developer", 
     tag: "developer", 
     tags: ["Javascript", "CSS", "HTML"] 
    }, { 
     role: "Producer", 
     tag: "producer", 
     tags: ["Project Management", "Pitching", "Billing"] 
    } 
]); 


for(var i = 0, len = data.length; i < len; i++) { 
    selection.concat(data[i].tags); 
} 

console.log(selection); 

回答

2

您需要重新分配selection,並CONCAT到壽說。所以使用:

for(var i = 0, len = data.length; i < len; i++) { 
    selection = selection.concat(data[i].tags); 
} 
0

你可以簡單地做到這一點。

var selection = data.map(function(x){ 
    return x.tags; 
}).join().split(","); 
1

這應該有效。

var selection = []; 

var data = [ 
    { 
     role: "Developer", 
     tag: "developer", 
     tags: ["Javascript", "CSS", "HTML"] 
    }, { 
     role: "Producer", 
     tag: "producer", 
     tags: ["Project Management", "Pitching", "Billing"] 
    } 
]; 


for(var i = 0; i < data.length; i++) { 
    for(var j = 0; j < data[i].tags.length; j++){ 
     selection.push(data[i].tags[j]); 
    } 
} 
相關問題