简化单个数组中的数组数组

时间:2016-01-08 04:14:12

标签: javascript arrays

最重要的是,抱歉我的英文

我正在尝试将多个Web响应保存到数组中

我有这样的事情:

var array = [];

$.ajax({
    url: URL,
    success: function(e){
        array.push(e);
    }
});

但我得到的是这样的:

[[31312, 123213], [12321, 123123], [123213, 132132]]

我想得到:

[321321, 321321, 32131, 321312, 321321, 321312]

我怎么能这样做?

提前致谢!!

3 个答案:

答案 0 :(得分:4)

替换

array.push(e);

array.push.apply(array, e);

如果e是例如1, 2, 3,第一个将执行array.push([1, 2, 3]),而第二个将执行array.push(1, 2, 3),这将为您提供正确的结果。

答案 1 :(得分:2)

您可以使用递归函数将多维数组展平为单个数组。



var data = [[31312, 123213], [12321, 123123], [123213, 132132]]

function flatten( arr ){
  return arr.reduce(function( ret, item ){
    return ret.concat( item.constructor === Array ? flatten( item ) : [ item ] );
  }, [])  
}

console.log( flatten( data ) );

<script src="http://codepen.io/synthet1c/pen/WrQapG.js"></script>
&#13;
&#13;
&#13;

答案 2 :(得分:1)