当前位置: 首页 > 知识库问答 >
问题:

如何编辑字符串中的字符,以及删除应用编辑条件的字符

南宫天逸
2023-03-14

我尝试从一个用户获取一个数字,将该数字显示为一个范围,然后将数字3的实例替换为字符串,将数字2的实例替换为字符串,将数字1的实例替换为字符串。如果函数检测到一个3,我想让它用字符串替换它,移除3的实例,忽略替换2&1的条件。当它看到一个2(但不是2)时也是如此。

我有一个函数接受来自用户的数字,将其转换为字符串,然后使用for循环将其显示为一个范围。

在for循环中,我使用.includes查找“3”。当它看到一个时,它会将字符串“I'm sorry Dave,I can't do that”推送到显示该范围的同一列表中。

我尝试了一个if/else if语句,使循环在第一次看到3时忽略2和1的条件,但它将所有条件应用于3、2或1的所有实例。

function numTranslate(inputNumber){
  var numList = [];
  var num = inputNumber

for (i = 0; i<= num; i++){

var numString = i.toString();

if (numString.includes('3')) {
  numList.push("I'm sorry Dave, I can't do that")
} 

else if (numString.includes('2')) {
  numList.push("boop!")
}
else if (numString.includes('1')) {
  numList.push("beep!")
}

  numList.push(i)
}
return numList;
}

我得到的

投入:9

输出:0,哔!,1,boop!,2,对不起Dave,我不能那样做,3,4,5,6,7,8,9,

我想要的:

投入:9

输出:1,2,对不起戴夫,我不能那样做,4,5,6,7,8,9

共有1个答案

巫新知
2023-03-14

如果需要该输出,请删除1和2的If子句。除了这2个if子句外,您的代码运行良好。另外,如果要忽略0,请从1开始。

另外,为什么要将它转换成一个字符串,然后检查字符串是否包含char?这些是数字,对它们做数字运算。通过转换它们并对照转换进行检查,您会增加不必要的开销。

null

js lang-js prettyprint-override">function numTranslate(inputNumber){
  var numList = [];
  var num = inputNumber

for (i = 1; i<= num; i++){
    if(i === 3){
        numList.push("I'm sorry Dave, I can't do that");
    }else{
        numList.push(i);
    }
}
return numList;
}

console.log(numTranslate(9));
 类似资料:
  • 我无法在wordpress主题中编辑字符串。该主题不在html中,因此我很难找到源代码。这是通过检查元素显示的源代码: 我想删除

  • 问题内容: 如何从字符串中删除除数字以外的所有字符? 问题答案: 在Python 2. *中,到目前为止最快的方法是: 生成一个转换表(长度为256的字符串),在这种情况下,该转换表与(更快地制作;-)相同。应用转换表(这里无关紧要,因为本质上是指身份),并删除第二个参数(关键部分)中存在的字符。 在Unicode字符串(和Python 3中的字符串)上的工作方式大不相同-我 确实 希望指出问题是

  • 问题内容: 如果我有一个字符串列表,例如: 为了摆脱每个字符串中的所有s,我该怎么办?我尝试在for循环中使用或,但是它无法像正常字符串(不在列表中)那样工作。有人有建议吗? 问题答案: 尝试这个:

  • 问题内容: 我有像这样的字符串“ aaaabbbccccaaddddcfggghhhh”,我想删除重复的字符,得到像这样的字符串“ abcadcfgh”。 一个简单的实现是: 使用正则表达式是否可能有更好的实现? 问题答案: 你可以这样做: 正则表达式使用反向引用和捕获组。 正常的正则表达式是,但是您必须在Java中使用另一个反斜杠来使反斜杠转义。 如果您想要重复的字符数: 演示版

  • 我需要编写一个静态方法,该方法将作为参数,并返回一个新的。例如,如果我将“Maaaakkee”作为输入,它将返回“make”。我已经尝试了下面的代码,但它似乎没有显示最后一个字符。下面是我的代码:

  • 我有一个字符串和一个布尔值,如果字符串中有一个*并且布尔值为真,它将忽略*之前的所有内容,只返回*之后的字符。但是如果boolean为false,它将返回*之前的内容,并删除其后的所有内容。 示例:“abc*def”,真 - 布尔值所做的是,如果为真,忽略*之前的所有内容,我不知道如何做到这一点。我想知道的是我是否可以读取字符串,以及*是否从charAT(0)删除到charAT(*)。类似这样的东