Javascript 通过字符串进行迭代,并删除

Javascript 通过字符串进行迭代,并删除,javascript,jquery,string,iteration,charat,Javascript,Jquery,String,Iteration,Charat,我的指令是遍历字符串并删除字母“a”的所有实例。我以为很容易找到例子,但我做不到。有些人会在没有迭代的情况下删除字母,但这不是说明要求的。如果有人可以看看我的代码,并帮助我在我的任务,我将非常感谢!“removeA”函数现在将遍历字符串,并且只有console记录!==“a”,但就我个人而言,我不知道如何把它保存到一个新的字符串中。提前谢谢 removeA = function(stringWithA) { if (stringWithA === null || typeof (stri

我的指令是遍历字符串并删除字母“a”的所有实例。我以为很容易找到例子,但我做不到。有些人会在没有迭代的情况下删除字母,但这不是说明要求的。如果有人可以看看我的代码,并帮助我在我的任务,我将非常感谢!“removeA”函数现在将遍历字符串,并且只有console记录!==“a”,但就我个人而言,我不知道如何把它保存到一个新的字符串中。提前谢谢

removeA = function(stringWithA) {
    if (stringWithA === null || typeof (stringWithA) !== "string" || stringWithA === "") {  //Checking for is null AND is not array
        return 'Please enter a valid string';
    } else {
        lowerWithA = stringWithA.toLowerCase();
        for (var i = 0; i < lowerWithA.length; i++) {
            if (lowerWithA.charAt(i) !== "a") {
                console.log(lowerWithA.charAt(i));
            }
        }
    }
}
removeA=函数(stringWithA){
如果(stringWithA===null | | typeof(stringWithA)!==“string”| | stringWithA====”){//检查是否为null且不是数组
返回“请输入有效字符串”;
}否则{
lowerWithA=stringWithA.toLowerCase();
对于(变量i=0;i
您可以将字母存储到数组中

var removeA=函数(stringWithA){
如果(stringWithA===null | | typeof(stringWithA)!==“string”| | stringWithA====”){//检查是否为null且不是数组
返回“请输入有效字符串”;
}否则{
var newString=[];
lowerWithA=stringWithA.toLowerCase();
对于(变量i=0;ilog(removeA(“Eleazar”)
您可以将字母存储到数组中

var removeA=函数(stringWithA){
如果(stringWithA===null | | typeof(stringWithA)!==“string”| | stringWithA====”){//检查是否为null且不是数组
返回“请输入有效字符串”;
}否则{
var newString=[];
lowerWithA=stringWithA.toLowerCase();
对于(变量i=0;ilog(removeA(“Eleazar”)
为什么不用所有非
a
的字符构建一个新字符串

var newString = "";

for (var i = 0; i < lowerWithA.length; i++) {
    var letter = lowerWithA.charAt(i);
    if (letter !== "a") {
        newString += letter;
    }
}

console.log(newString);

不要对原始字符串调用
String.toLowerCase()

为什么不用所有非
a
的字符构建一个新字符串

var newString = "";

for (var i = 0; i < lowerWithA.length; i++) {
    var letter = lowerWithA.charAt(i);
    if (letter !== "a") {
        newString += letter;
    }
}

console.log(newString);

不要对原始字符串调用
String.toLowerCase()

我想您已经需要一个函数了,
replace

var stringWithA='aaaa bbbcc!';

警报(stringWithA.替换(/[Aa]/g')我想您已经需要了一个函数,
replace

var stringWithA='aaaa bbbcc!';

警报(stringWithA.替换(/[Aa]/g')所以,除了指出您在任何地方都没有在逻辑中进行删除之外,我要给您的一个指针,因为这是家庭作业,就是您应该从头到尾进行迭代。@Taplar-就地删除的好建议。这也可以通过创建一个由所有字符组成的新字符串来实现,但不包括不需要的字符。@Bucket没有使用字符串“就地”删除的事情。字符串是不可变的,您永远不能对字符串执行“就地”操作。@ScottMarcus。你说得对。当我仔细思考时,我失去了javascript上下文。但是,如果您将字符串转换为字符数组,则就地删除是可能的。因此,除了指出您在任何地方都没有在逻辑中进行删除之外,我给您的一个指针是,因为这是家庭作业,您应该从头到尾迭代。@Taplar-就地删除的好建议。这也可以通过创建一个由所有字符组成的新字符串来实现,但不包括不需要的字符。@Bucket没有使用字符串“就地”删除的事情。字符串是不可变的,您永远不能对字符串执行“就地”操作。@ScottMarcus。你说得对。当我仔细思考时,我失去了javascript上下文。如果将字符串转换为字符数组,则可以就地删除,然而.OP声明他看到了不涉及迭代的解决方案,这是不可接受的,因为任务是使用迭代。OP声明他看到了不涉及迭代的解决方案,这是不可接受的,因为任务是使用迭代。