var err = "No msg";
if(myVar.indexOf(err) > -1){
//this means myVar NOT containing No msg
}
моя логика правильная? Я получаю мой, если заявление, если исполнение ..indexOf путаница в javascript
var err = "No msg";
if(myVar.indexOf(err) > -1){
//this means myVar NOT containing No msg
}
моя логика правильная? Я получаю мой, если заявление, если исполнение ..indexOf путаница в javascript
Чтобы проверить, если строка не содержит подстроку, используйте
if(myVar.indexOf(err) === -1) {
Или
!~myVar.indexOf(err)
~
является BitWise NOT operator«Выступает оператор NOT на каждом бите. NOT a дает инвертированное значение (как дополнение) a. " и !
- Logical NOT, поэтому преобразование индекса в логический результат.
String#indexOf
возвращает -1, если подстрока не найдена.
Нет, ваша логика неверна. indexof return -1, если sub string нет.
var err = "No msg";
if(myVar.indexOf(err) == -1){
//this means myVar NOT containing No msg
}
var err = "No msg";
if(myVar.indexOf(err) > -1){
//this means myVar contains "No msg"
}
else{
//this means myVar does NOT contain "No msg"
}
Или
var err = "No msg";
if(myVar.indexOf(err) === -1){
//this means myVar does NOT contain "No msg"
}
indexOf
возвращает индекс первого символа, который является строкой, совпадающим. так что если
myVar = "There is No msg in here";
myVar.indexOf("No msg") == 9; //true
Но
myVar = "There is nothing in here";
myVar.indexOf("No msg") == -1; //true
Это происходит потому, что indexOf()
возвращает -1, если он не может найти то, что он искал.
** 0 ** больше, чем ** - 1 ** Я полагаю! – Rayon
или '! ~ MyVar.indexOf (err)': p –
@BhojendraNepal Проверить комментарий _ "это означает, что myVar NOT содержит No msg" _, OP не пытается найти, если строка содержит подстроку, OP хочет проверить, действительно ли строка не содержат – Tushar