Ваш фрагмент кода близок, но вы перепутали свои переменные в операторе push
.
var array = "XX|Y1234$ZT|QW4567"
var array2 = [];
array = array.split("$");
for (i = 0; i < array.length; i++) {
var loopedArray = array[i].split("|")
array2.push(loopedArray);
}
array2 = array2.flat();
console.log(array2);
Однако это можно переписать намного чище, используя flatMap
. Также обратите внимание на использование let
вместо var
и одинарных кавычек '
вместо двойных кавычек "
.
let array = 'XX|Y1234$ZT|QW4567'
let array2 = array
.split('$')
.flatMap(arrayI => arrayI.split('|'));
console.log(array2);
И, наконец, split
уже поддерживает несколько разделителей при использовании регулярных выражений:
let array = 'XX|Y1234$ZT|QW4567'
let array2 = array.split(/[$|]/);
console.log(array2);