如何在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#reduce
与Array#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 行进行单按钮照片上传