2

是否有可能有一串数字,比方说由这个操作生成

var s = "1";
onEvent("start", "click", function() {
  for (var i = 2; i < 51; i++){ 
    s = s+", "+i;
      if(i==50){
        setText("text", s);
      }
  }
});

因此使 s 等于数字“1、2、3 等”的字符串。现在假设有一个不同的函数试图检查 s ( 字符串 ) 里面是否有一定的数字,

if(n == "number in s" ){
     *function*
 }

现在我们如何能够在字符串中找到一个奇异数并将其与另一个变量进行比较?“s 中的数字”是与变量“n”进行比较的数字。现在“n”可以更改值,但如果“s 中的数字”包含“n”的所有选项,该函数应该运行

4

4 回答 4

1

您可以使用String.prototype.includes()。这将是实现这一目标的最简单方法。

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

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

if(s.includes(n)) { ... }
于 2019-09-22T04:58:00.073 回答
1

这是一种更准确的方法。

if(s.split(',').indexOf(n) != -1) {...}

如果你有一个像 '1,2,13' 这样的字符串,那么 str.includes(3) 会给出错误的结果。

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

于 2019-09-22T05:03:07.560 回答
0

您还可以使用 [String.prototype.indexOf()] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes )

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

  myString.indexOf(number) === -1 ? //number not found : //number found ;  
于 2019-09-22T06:18:29.060 回答
0
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");
}
于 2019-09-22T05:47:21.050 回答