Javascript 展开按逗号拆分的数组元素

Javascript 展开按逗号拆分的数组元素,javascript,arrays,Javascript,Arrays,假设我有以下数组: const arr = [ 'a,b,c', 'd,e,f', 'g,h,i' ]; 我想去 [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i' ] 我目前正在使用reduce 但是我想知道是否有更好的方法来做到这一点。您可以使用.join()和.split()方法: const arr=['a,b,c','d,e,f','g,h,i']; const result=arr.join().split(“,”); 控制台日志(结果)

假设我有以下数组:

const arr = [ 'a,b,c', 'd,e,f', 'g,h,i' ];
我想去

[ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i' ]
我目前正在使用reduce

但是我想知道是否有更好的方法来做到这一点。

您可以使用
.join()
.split()
方法:

const arr=['a,b,c','d,e,f','g,h,i'];
const result=arr.join().split(“,”);
控制台日志(结果)

。作为控制台包装{max height:100%!important;top:0;}
您不需要使用reduce,只需使用
join(',')
split(',')

const arr=['a,b,c','d,e,f','g,h,i'];
var res=arr.join(',').split(',');

控制台日志(res)
使用reduce方法和
split
以逗号分隔字符串

设m=['a,b,c','d,e,f','g,h,i'];
设x=m.reduce(函数(acc,curr){
附件推送(…当前拆分(','))
返回acc;
}, [])

console.log(x)
简单地
concat
分割的子阵列

const arr=['a,b,c','d,e,f','g,h,i'];

console.log([].concat(…arr.map(a=>a.split(',')))
在未来的js版本中,它将
arr.flatMap(el=>el.split(“,”))
Nice@Jonaswillms谢谢你提供的信息。是的,我认为这是最好的解决方案。我还提出了一个使用push的版本,但忽略了初始值arg,这大大简化了它。我将接受您的答案。基于您的答案,我的最终版本是
arr.reduce((a,c)=>(a.push(…c.split(',')),a),[])
为什么不
arr.reduce((acc,el)=>acc.concat(el.split(,”)
?因为concat不需要创建数组的副本。
arr.reduce((a,c) => (typeof a == 'object' ? a : a.split(',')).concat(c.split(',')));