展开以逗号分隔的数组元素

时间:2018-08-18 13:09:54

标签: javascript arrays

说我有以下数组:

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

我想去

[ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i' ]

我目前正在使用reduce https://jsbin.com/xejedexada/edit?js,console

arr.reduce((a,c) => (typeof a == 'object' ? a : a.split(',')).concat(c.split(',')));

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

4 个答案:

答案 0 :(得分:1)

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

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

const result = arr.join().split(",");

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

参考:

答案 1 :(得分:1)

使用reduce方法和 initialSize=20 maxTotal=100 minIdle=20 maxWaitMillis=45000 minEvictableIdleTimeMillis=3600000 validationQueryTimeout=2 removeAbandonedTimeout=10 removeAbandonedTimeout=60 removeAbandonedOnBorrow=true accessToUnderlyingConnectionAllowed=true testOnBorrow=true testWhileIdle=true logAbandoned=true defaultQueryTimeout=120 以逗号分隔字符串

split

答案 2 :(得分:0)

只需使用join(',')split(','),就不需要减少操作:

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

答案 3 :(得分:0)

简单地concat分裂的子数组

const arr = [ 'a,b,c', 'd,e,f', 'g,h,i' ];
console.log( [].concat(...arr.map(a=>a.split(','))) )