#javascript #jquery #arrays
#javascript #jquery #массивы
Вопрос:
Я просто пытаюсь проверить, существует ли строка в массиве строк.
console.log($.inArray(String(value.value), selectors) > 0, String(value.value), selectors);
Приведенный выше код дает мне результаты, которые выглядят следующим образом
false "23" (2) ["23", "9"]
true "9" (2) ["23", "9"]
false "28" (2) ["23", "9"]
false "20" (2) ["23", "9"]
Без проверки inArray
, равно ли > 0
оно, мои результаты выглядят так
0 "23" (2) ["23", "9"]
1 "9" (2) ["23", "9"]
-1 "28" (2) ["23", "9"]
-1 "20" (2) ["23", "9"]
Почему первый возвращает значение false? Как я могу правильно определить, находится ли строка в массиве?
Ответ №1:
$.inArray()
возвращает позицию в массиве найденного элемента или -1
.
Ты написал > 0
, но ты имел в виду > -1
.
Комментарии:
1. @GrumpyCrouton Это случается. 🙂