有没有办法合并以下数组:
var arr = [["2014-2-5", "2014-2-4", "2014-1-9", "2014-1-8"], [], ["2014-2-4"], [], []]
并使它看起来像:
["2014-2-5", "2014-2-4", "2014-1-9", "2014-1-8", "2014-2-4"]
我试过console.log($.merge(arr ));
但它没有用。
由于
答案 0 :(得分:0)
arr.reduce(function(previousValue, currentValue, index, array){
return previousValue.concat(currentValue);
});
答案 1 :(得分:0)
不合并但是扁平化 -
Array.prototype.flatten= function(){
var A= [];
this.forEach(function(itm){
if(itm!= undefined){
if(!itm.flatten) A.push(itm);
else A= A.concat(itm.flatten());
}
});
return A;
}
var arr= [["2014-2-5", "2014-2-4", "2014-1-9",
"2014-1-8"], [], ["2014-2-4"], [], []];
arr.flatten();
// returned value: (Array)
['2014-2-5', '2014-2-4', '2014-1-9', '2014-1-8', '2014-2-4']