从字符串javascript算法中删除字符
我正在练习算法问题,并试图在o(n)时间内从字符串中删除给定的字母 我下面的尝试在几个方面是错误的:从字符串javascript算法中删除字符,javascript,algorithm,Javascript,Algorithm,我正在练习算法问题,并试图在o(n)时间内从字符串中删除给定的字母 我下面的尝试在几个方面是错误的: outputString数组中的最后一个索引是“未定义”,我不知道为什么 我的输出是正确的字母,但返回的是原始字符串的长度 如何修复这些错误,以及为什么会发生这些错误 function removeChars(lettersToDelete, string) { var flags = {}; // a hash of letters to delete. var outpu
- outputString数组中的最后一个索引是“未定义”,我不知道为什么
- 我的输出是正确的字母,但返回的是原始字符串的长度
function removeChars(lettersToDelete, string) {
var flags = {}; // a hash of letters to delete.
var outputString = string.split("");
var lettersToDelete = lettersToDelete.split("");
var i, j;
for (i = 0; i < lettersToDelete.length; i++) {
flags[lettersToDelete[i]] = true;
}
console.log(flags);
for (var j = 0; j < string.length; j++) {
if (flags[string[j]]) {
outputString[j++] = string[j];
}
}
console.log(outputString); //[ 'a', 'a', 'a', 'a', undefined ]
return outputString.join(""); // 'aaaa'
}
函数removeChars(字母删除,字符串){
var flags={};//要删除的字母哈希。
var outputString=string.split(“”);
var lettersToDelete=lettersToDelete.split(“”);
varⅠ,j;
对于(i=0;i
函数removeChars(字母删除,字符串){
var flags={};//要删除的字母哈希。
var outputString=[];//string.split(“”);
var lettersToDelete=lettersToDelete.split(“”);
varⅠ,j;
对于(i=0;i removeChars(“itu”、“mitul”)代码>如果需要,可以使用正则表达式<代码>var regex=new RegExp(“[”+lettersToDelete+“]”,'g');var outputString=string.replace(regex.)代码>好听听有人试图学习1+你操纵j
的方式在我看来不合适。另外,outputString
变量被初始化为一个数组,其中包含原始输入中的所有字母,并且从不从该数组中删除任何内容。最后,循环中的if语句条件正在测试是否删除当前字母,但它不应该测试是否保留当前字母吗?它将返回“ml”,并且输出字符串的长度将为2