Как проверить, находится ли число внутри строки? - PullRequest
2 голосов
/ 22 сентября 2019

Возможно ли иметь строку чисел, скажем, сгенерированную этой операцией

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 ]

1 голос
/ 22 сентября 2019

Это более точный способ сделать это.

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

Если у вас есть строка типа '1,2,13', то str.include (3) выдаст true, что неверно.

Таким образом, вместо этого сначала мы разделим его на ',', чтобы получить все числа в массиве и найти, существует ли в нем конкретное число, с помощью метода indexOf.

1 голос
/ 22 сентября 2019

Вы можете использовать String.prototype.includes () .Это был бы самый простой способ достижения этого.

Метод includes () определяет, может ли одна строка быть найдена в другой строке, возвращая в зависимости от ситуации true или false.

В вашем примере вы можете использовать -

if(s.includes(n)) { ... }
0 голосов
/ 22 сентября 2019

Вы также можете использовать [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 ;  
0 голосов
/ 22 сентября 2019
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");
}
...