javascript中的数组合并
是否有方法合并以下数组:javascript中的数组合并,javascript,arrays,merge,Javascript,Arrays,Merge,是否有方法合并以下数组: 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)) 但它不起作用 谢谢将阵列与以下各项结合使用: 不是合并而是扁平化- Array.prototype
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))代码>
但它不起作用
谢谢将阵列与以下各项结合使用:
不是合并而是扁平化-
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']
哦,是的,绝对是重复的。忽略我的回答。使用[].concat.apply([],arr)代码>
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']