如何在javascript中从多个数组中获取单个数组[重复]

Posted

技术标签:

【中文标题】如何在javascript中从多个数组中获取单个数组[重复]【英文标题】:How to get single array from multiple array in javascript [duplicate] 【发布时间】:2017-07-05 06:19:13 【问题描述】:

我有这样的数组

   var arr = [
                [ "c": 1,"d": 2 ],
                [ "c": 2,"d": 3 ]
             ]

我想更改为(仅通过 javascript

var newArr  = ["c": 1,"d": 2,"c": 2,"d": 3]

我已经通过地图尝试过,但没有得到预期的输出。

【问题讨论】:

请向我们展示您的尝试(您的地图尝试) 您想将数组的数组展平为单个数组 ***.com/questions/10865025/… [重复] 带递归函数,测试isArray是否为数组元素 【参考方案1】:

您可以使用reduce() 和传播语法。

 var arr = [
  [ "c": 1,"d": 2 ],
  [ "c": 2,"d": 3 ]
]

var result = arr.reduce((r, e) => (r.push(...e), r), [])
console.log(result)

【讨论】:

我希望我能不止一次地投票,漂亮的答案!【参考方案2】:

在纯 JavaScript 中,您可以使用 Array.portotype.forEach 来执行此操作。

var arr = [
                [ "c": 1,"d": 2 ],
                [ "c": 2,"d": 3 ]
             ];
             
var newArray = [];

arr.forEach(function(e)
	e.forEach(function(e1)
		newArray.push(e1);
	);
)

console.log(newArray);

使用这个..

【讨论】:

【参考方案3】:

您可以将Array#reduceArray#concat 一起使用。

var arr = [[ c: 1 ,  d: 2 ], [ c: 2 ,  d: 3 ]],
    result = arr.reduce((r, a) => r.concat(a), []);

console.log(result)

ES5

var arr = [[ c: 1 ,  d: 2 ], [ c: 2 ,  d: 3 ]],
    result = arr.reduce(function (r, a)  return r.concat(a); , []);

console.log(result)

【讨论】:

以上是关于如何在javascript中从多个数组中获取单个数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 c# ASP.net 中从 GridView 行进行单按钮照片上传

在java中从用户获取整数数组输入

如何在Javascript中从数组中查找上一个或下一个元素?

如何在 PHP 中从多个数组中删除空行元素

如何在javascript中从现有数组创建一个新数组

如何在 JSF 2.0 中从 javascript 中获取元素