我試圖將值映射到一個新的數組。問題是我映射的屬性可以是數字或數組。foreach array.map()
對於數組,我有一個問題,因爲我的結果是一個關聯數組。我的目標是將[[1,2,3], [1,2,3]]
(見下文)轉換爲[1,2,3,1,2,3]
。換一種說法;只是讓它成爲一維數組。
我試過用map()裏面的foreach循環,但沒有成功。有任何想法嗎?
var list = [{ foo: 1, bar: [1,2,3] }, { foo: 2, bar: [1,2,3] }];
var retArr = list.map(function (v) {
return v.bar;
});
console.log(retArr); // [[1,2,3], [1,2,3]]
var list = [{ foo: 1, bar: [1,2,3] }, { foo: 2, bar: [1,2,3] }];
var retArr = list.map(function (v) {
if($.isArray(v.bar)){
$.each(v.bar, function(i, v){
return v;
});
} else {
return v.bar;
}
});
console.log(retArr); // [undefined, undefined]
+1,這是相當整潔。 – Blender
我不知道它被稱爲「平坦」。如果我這樣做了,我可能會發現它:-)謝謝 – Johan