獲得單個陣列我有數組這樣如何從多個陣列中的JavaScript
var arr = [
[ {"c": 1},{"d": 2} ],
[ {"c": 2},{"d": 3} ]
]
我想更換成(由只有JavaScript)
var newArr = [{"c": 1},{"d": 2},{"c": 2},{"d": 3}]
我已經通過地圖,但沒試過獲得預期的產出。
獲得單個陣列我有數組這樣如何從多個陣列中的JavaScript
var arr = [
[ {"c": 1},{"d": 2} ],
[ {"c": 2},{"d": 3} ]
]
我想更換成(由只有JavaScript)
var newArr = [{"c": 1},{"d": 2},{"c": 2},{"d": 3}]
我已經通過地圖,但沒試過獲得預期的產出。
您可以使用reduce()
和傳播語法。
var arr = [
[ {"c": 1},{"d": 2} ],
[ {"c": 2},{"d": 3} ]
]
var result = arr.reduce((r, e) => (r.push(...e), r), [])
console.log(result)
我希望的元素,我可以給予好評不止一次這更美麗的答案! – Jackthomson
試試這個..
var merged = [].concat.apply([], arr);
在普通的JavaScript,你可以使用Array.portotype.forEach
做到這一點。
var arr = [
[ {"c": 1},{"d": 2} ],
[ {"c": 2},{"d": 3} ]
];
var newArray = [];
arr.forEach(function(e){
\t e.forEach(function(e1){
\t \t newArray.push(e1);
\t });
})
console.log(newArray);
使用這個..
你可以使用Array#reduce
與Array#concat
。
var arr = [[{ c: 1 }, { d: 2 }], [{ c: 2 }, { d: 3 }]],
result = arr.reduce((r, a) => r.concat(a), []);
console.log(result)
ES5
var arr = [[{ c: 1 }, { d: 2 }], [{ c: 2 }, { d: 3 }]],
result = arr.reduce(function (r, a) { return r.concat(a); }, []);
console.log(result)
請告訴我們你已經嘗試了什麼(有圖你試試) – Sebastian
要數組的數組壓扁成單個陣列 –
http://stackoverflow.com/questions/10865025/merge-f [複製] –