我有一個數組,其中有幾個類別對象,每個對象都有一個items
屬性,其中包含一個項目對象數組。我想將每個類別中的每個項目映射到具有屬性值和標籤的對象[]。出於某種原因,我無法執行連接。映射後連接嵌套陣列
var categories = [{
name: "category1",
items: [{
itemId: 1,
name: "Item1"
}, {
itemId: 2,
name: "Item2"
}]
}, {
name: "category2",
items: [{
itemId: 3,
name: "Item3"
}, {
itemId: 4,
name: "Item4"
}]
}];
var items = [];
for(var i = 0; i < categories.length; i++){
items.concat($.map(categories[i].items,function(elem){
return {value:elem.itemId, label:elem.name};
}));
}
console.log(items); //prints []
預期結果
[{
label: "Item1",
value: "1"
},
{
label: "Item2",
value: "2"
},{
label: "Item3",
value: "3"
},{
label: "Item4",
value: "4"
}
我覺得,如果我失去了一些東西非常基本的。我記錄了$.map
函數的結果,它似乎返回[]
。任何人都可以找出問題嗎?
的jsfiddle:http://jsfiddle.net/vymJv/
請忽略。我需要分配項目的結果concat() –