Как преобразовать массив строк в простую строку в JavaScript? - PullRequest
0 голосов
/ 27 мая 2019

У меня есть следующий массив строк JavaScript:

arrayOfString = ['a', 'b,c', 'd,e', 'f'];

И я хотел бы преобразовать этот массив в массив, подобный следующему:

myString = ["a", "b", "c", "d", "e", "f"];

Как мне это сделать?

Ответы [ 4 ]

2 голосов
/ 27 мая 2019

Вы можете использовать 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 голос
/ 27 мая 2019

Использование join() и split()

Примечание: Разделителем по умолчанию join() является comma (,)

const arrayOfString = ['a', 'b,c', 'd,e', 'f']

const myString = arrayOfString.join().split(',')

console.log(myString)
1 голос
/ 27 мая 2019

Используйте 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.

0 голосов
/ 27 мая 2019

вы можете использовать оператор спреда, карту и сплит

let arr = [];
let input =  ['a', 'b,c', 'd,e', 'f'];
input.map(obj => arr = [...arr,...obj.split(",")])

console.log(arr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...