I need a function that works like split
var string = "a|b|c"
console.log(string.split('|'))
to get a string and split it using loop
function splitstr(str, charToSplit){
      }
I want the output of ('a|b|c', '|') to be ["a", "b", "c"]
I need a function that works like split
var string = "a|b|c"
console.log(string.split('|'))
to get a string and split it using loop
function splitstr(str, charToSplit){
      }
I want the output of ('a|b|c', '|') to be ["a", "b", "c"]
Here is a slightly simpler solution that works correctly:
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", "|")); 
    
     
    
    You can use the code below.
This code had 8 steps to it.
charToSplitstartIndex and your current index (excluding your current index, which is the character you want to split on)output[currentIndex] to an empty string (since using += on something that doesn't exist doesn't work correctlyoutputstartIndex is set to your current index + 1 (which is the character after the character that you want to split on)currentIndex is increased by 1 since you're now on the next set of valuesoutputNote: The final extra loop after the first loop is there to add the last value to your output array. 
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", "|"));