Javascript 如何检查数字是否在字符串中?

Javascript 如何检查数字是否在字符串中?,javascript,code.org,Javascript,Code.org,有没有可能有一个数字串,比如说由这个操作生成的 var s = "1"; onEvent("start", "click", function() { for (var i = 2; i < 51; i++){ s = s+", "+i; if(i==50){ setText("text", s); } } }); 现在我们如何在字符串中找到一个单数,并将其与另一个变量进行比较? “s中的数字”是与变量“n”进行比较的数字。现在“

有没有可能有一个数字串,比如说由这个操作生成的

var s = "1";
onEvent("start", "click", function() {
  for (var i = 2; i < 51; i++){ 
    s = s+", "+i;
      if(i==50){
        setText("text", s);
      }
  }
});
现在我们如何在字符串中找到一个单数,并将其与另一个变量进行比较? “s中的数字”是与变量“n”进行比较的数字。现在“n”可以更改值,但如果“s中的数字”包含“n”的所有选项,则应该运行该函数。这将是实现这一目标的最简单方法

includes()方法确定是否可以在另一个字符串中找到一个字符串,并根据需要返回true或false

在您的示例中,您可以使用-

if(s.includes(n)) { ... }

这是一种更准确的方法

if(s.split(',').indexOf(n) != -1) {...}
如果您有一个类似“1,2,13”的字符串,那么str.includes(3)将给出true,这是错误的

因此,我们首先将其按“,”进行拆分,以获取数组中的所有数字,并使用indexOf方法搜索其中是否存在特定的数字。

函数IsNumberInsideString(s){
function IsNumberInsideString(s) {
    for (var i=0; i<s.length; i++) {
        if (!isNaN(parseInt(s[i]))) {
            console.log("Number is inside string");
            return ;
        }
    }
    console.log("Number is not present inside the string");
}

对于(var i=0;i您还可以使用[String.prototype.indexOf()] ()

indexOf()方法返回数组中可以找到给定元素的第一个索引,如果不存在,则返回-1

  myString.indexOf(number) === -1 ? //number not found : //number found ;  

我想你正在寻找可能的副本:+1,以便考虑包含可能失败的情况。我可以补充一点,他们可以绕过这是字符串,它有一个除名器,只需执行
,3,
,就可以在包含中搜索。这对字符串中的第一个和最后一个数字不起作用。是的,在我说了之后,我意识到了这一点在不使用正则表达式的情况下进行NK运算。因此我认为拆分实际上是最可靠的。是的@matthew,正如我所说,这将是一种更准确的方法。@Sagar研究为什么它不适用于第一个和最后一个数字?
“3,1,12”。拆分(',')。索引(“3”)-->//0
只有代码的答案是低质量的答案。请解释一下为什么您认为此代码段会起作用。这是为了我制作一个Recamán序列,我不知道如何使用
if(s.split(',')。indexOf(n)!=-1{…}
在我的例子中。如果有人需要我的代码来生成一个Recamán序列,这里就是
var j=0;var n=0;var s=“0”,onEvent(“gen”,“click”,function(){for(var i=0;i
  myString.indexOf(number) === -1 ? //number not found : //number found ;