gpt4 book ai didi

javascript - 在不使用javascript中的split方法的情况下编写字符串拆分函数

转载 作者:行者123 更新时间:2023-11-30 17:23:15 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的函数,它接受一个字符串和一个分隔符,然后根据分隔符值将字符串拆分为一个数组。我试图在不使用 javascript 中的 split 方法的情况下编写此函数。假设我有一个 sampleInput = '123$456$789' 和一个 delimiter = '$' 那么函数 stringDelimiter(sampleInput, delimiter) 将返回 ['123', '456', '789']。

    var stringDelimiter = function (sampleInput, delimiter) {

var stringArray = [];
var garbageArray = [];
var j = 0;


for (var i = 0; i < sampleInput.length; i++) {

if (sampleInput.charAt(i) == delimiter) {
garbageArray = sampleInput.charAt(i);
j++;
} else {
if (!stringArray[j]) stringArray[j] = '';
stringArray[j] += sampleInput.charAt(i);
}
}
return stringArray;
}

我遇到的问题是,如果分隔符出现在字符串的开头,它会返回未定义数组的第一个元素。我不知道如何处理这个案子。所以如果我有 sampleInput = '$123$456$789' 和 delimiter = '$' 它返回 ['123', '456', '789'] 而不是 ['undefined','123', '456', '789' ].任何帮助将不胜感激。

最佳答案

这有点简单,它可能会做你想做的事:

var stringDelimiter = function (sampleInput, delimiter) {
var stringArray = [''];
var j = 0;

for (var i = 0; i < sampleInput.length; i++) {
if (sampleInput.charAt(i) == delimiter) {
j++;
stringArray.push('');
} else {
stringArray[j] += sampleInput.charAt(i);
}
}
return stringArray;
}

您的 garbageArray 似乎没有必要。

关于javascript - 在不使用javascript中的split方法的情况下编写字符串拆分函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24765710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com