Javascript:在没有.split()方法的情况下拆分字符串?

Javascript:在没有.split()方法的情况下拆分字符串?,javascript,function,methods,split,refactoring,Javascript,Function,Methods,Split,Refactoring,为了更好地理解函数,有人建议我重构String.prototype.split()方法。这不是为了上学,我在自学。我认为这很简单,但四个小时后,我很沮丧,我无法让这个工作。以下是我目前掌握的情况: var myString = "this is a sentence"; var split = function(string, splitParameter) { var splitArray = []; var stringElement = ""; var splitter = ""; va

为了更好地理解函数,有人建议我重构String.prototype.split()方法。这不是为了上学,我在自学。我认为这很简单,但四个小时后,我很沮丧,我无法让这个工作。以下是我目前掌握的情况:

var myString = "this is a sentence";
var split = function(string, splitParameter) {
var splitArray = [];
var stringElement = "";
var splitter = ""; 
var j = 0;

for (var i = 0; i < string.length; i++) {
  if (string[i] !== splitParameter) {
      stringElement += string[i];
      splitArray[j] = stringElement;
  }else {
      j++;
      splitter += string[i];
  }
  return splitArray;
}


console.log(split(myString," "));
当我将splitParameter更改为“”时,我得到:

当我通过“t”时,我得到:

有人能帮我走上正轨吗?我试图学习如何从功能上思考问题,并使用算法推理,但对于原始拆分方法中的分隔符位,我无法理解该怎么做


谢谢。

如果你的目标是学习,最好还是继续学习。使用浏览器内置的调试器提供帮助;这样,您就可以一次一行地执行每一行代码,查看变量的值,等等。@phizzy检查这个小提琴,您永远不会将
stringElement
重置为循环中的空字符串。注意,real
.split()
方法也可以对字符串(而不是单个字符)和正则表达式进行拆分。但我想这超出了你的练习范围。如果你想复制真正拆分的功能,你可能想看看
["this", "thisis", "thisisa", "thisisasentence"]
["this is a sentence"]
[1: "his a sen", 2: "his is a senence"]