在javascript中合并数组

时间:2014-02-06 00:42:32

标签: 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 )); 但它没有用。

由于

2 个答案:

答案 0 :(得分:0)

将数组的reduceconcat结合使用:

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']