Javascript 简化单个阵列中的阵列阵列
首先,对不起我的英语 我试图将多个web响应保存到一个数组中 我有这样的想法:Javascript 简化单个阵列中的阵列阵列,javascript,arrays,Javascript,Arrays,首先,对不起我的英语 我试图将多个web响应保存到一个数组中 我有这样的想法: var array = []; $.ajax({ url: URL, success: function(e){ array.push(e); } }); [[31312, 123213], [12321, 123123], [123213, 132132]] 但我得到的是这样的东西: var array = []; $.ajax({ url: URL,
var array = [];
$.ajax({
url: URL,
success: function(e){
array.push(e);
}
});
[[31312, 123213], [12321, 123123], [123213, 132132]]
但我得到的是这样的东西:
var array = [];
$.ajax({
url: URL,
success: function(e){
array.push(e);
}
});
[[31312, 123213], [12321, 123123], [123213, 132132]]
我想得到:
[321321, 321321, 32131, 321312, 321321, 321312]
我怎么能做到
提前谢谢 更换
array.push(e);
与
如果e
是例如1,2,3
,第一个将执行array.push([1,2,3])
,而第二个将执行array.push(1,2,3)
,这将为您提供正确的结果。替换
array.push(e);
与
如果
e
是例如1,2,3
,第一个将执行array.push([1,2,3])
,而第二个将执行array.push(1,2,3)
,这将给出正确的结果。您可以使用concat
array=array.concat(e)
您可以使用concat
array=array.concat(e)
您可以使用递归函数将多维数组展平为单个平面数组
var数据=[[31312123213]、[12321123123]、[123213132132]]
函数展平(arr){
返回arr.reduce(功能(返回,项目){
返回ret.concat(item.constructor==数组?展平(item):[item]);
}, [])
}
console.log(展平(数据))代码>
您可以使用递归函数将多维数组展开为单个展开数组
var数据=[[31312123213]、[12321123123]、[123213132132]]
函数展平(arr){
返回arr.reduce(功能(返回,项目){
返回ret.concat(item.constructor==数组?展平(item):[item]);
}, [])
}
console.log(展平(数据))代码>
concat
的效率略低于push
,因为它会在每次迭代中复制数组。不过,它会工作。concat
的效率略低于push
,因为它会在每次迭代中复制数组。不过,它会起作用。是不是只有一个响应,有三个响应。你能进一步解释一下这个问题吗?[31312123213]
只有一个响应,你得到的是三个响应。你能进一步解释一下这个问题吗