Мне нужна функция, которая работает как split
split
var string = "a|b|c" console.log(string.split('|'))
чтобы получить строку и разбить ее используя цикл
function splitstr(str, charToSplit){ }
Я хочу, чтобы вывод ('a|b|c', '|') был ["a", "b", "c"]
('a|b|c', '|')
["a", "b", "c"]
Вот несколько более простое решение, которое работает правильно:
function splitStr(str, separator) { const parts = []; let nextPart = ''; for (let i = 0; i <= str.length; i++) { if (str[i] === separator || i === str.length) { parts[parts.length] = nextPart; nextPart = ''; } else { nextPart += str[i] } } return parts; } console.log(splitStr("abc|abcd|ac", "|"));
Вы можете использовать код ниже.
Этот код имеет 8 шагов к нему.
charToSplit
startIndex
output[currentIndex]
+=
output
currentIndex
Примечание: Последний дополнительный цикл после первого цикла предназначен для добавления последнего значения в ваш массив output.
function splitstr(str, charToSplit) { var output = []; var currentIndex = 0; var startIndex = 0; for (var i = 0; i < str.length; i++) { if (str[i] == charToSplit) { output[currentIndex] = ""; for (var x = startIndex; x < i; x++) { output[currentIndex] += str[x]; } startIndex = i + 1; currentIndex++; } } output[currentIndex] = ""; for (var i = startIndex; i < str.length; i++) { output[currentIndex] += str[i]; } return output; } console.log(splitstr("abc|abcd|ac", "|"));