我有以下JavaScript字符串数组:
arrayOfString = ['a', 'b,c', 'd,e', 'f'];
我想将此数组转换为与此类似的数组:
myString = ["a", "b", "c", "d", "e", "f"];
我该怎么做到?
答案 0 :(得分:2)
您可以使用flatMap()
和split()
let arrayOfString = ['a', 'b,c', 'd,e','f'];
let res = arrayOfString.flatMap(x => x.split(','))
console.log(res)
如果您的浏览器不支持flatMap()
,请使用map()
concat()
和散布运算符。使用传播运算符将map()
的结果传递到concat()
。
let arrayOfString = ['a', 'b,c', 'd,e','f'];
let res = [].concat(...arrayOfString.map(x => x.split(',')))
console.log(res)
答案 1 :(得分:1)
将map
与split
,reduce
和concat
结合使用:
const arrayOfString = ['a', 'b,c', 'd,e', 'f'];
const myString = arrayOfString.map(e => e.split(",")).reduce((acc, curr) => acc.concat(curr));
console.log(myString);
说明:
使用map
遍历数组,然后split
取出每个字母,然后使用reduce
和concat
作为受支持的方法来展平结果多维数组,最后将结果分配给myString
。
答案 2 :(得分:1)
注意:join()
的默认分隔符为comma (,)
const arrayOfString = ['a', 'b,c', 'd,e', 'f']
const myString = arrayOfString.join().split(',')
console.log(myString)
答案 3 :(得分:0)
您可以使用扩展运算符,映射和拆分
let arr = [];
let input = ['a', 'b,c', 'd,e', 'f'];
input.map(obj => arr = [...arr,...obj.split(",")])
console.log(arr);