Я работаю над кодом, который требует от меня получить индекс строки в массиве. Для этого я использую функцию JavaScript indexOf. Проблема здесь в том, что я могу получить индекс чисел, которые кодируются как строка, но не могут получить индекс для строк.JavaScript indexOf давая неправильный результат
var codes = ["1", "2", "2A", "2B", "3", "4", "5", "6", "7", "8", "9", "10",
"11", "12", "13", "14", "15", "16", "17", "18", "19", "21", "22",
"23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33",
"34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44",
"45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55",
"56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66",
"67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77",
"78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88",
"89", "90", "91", "92", "93", "94", "95"];
console.log(codes.indexOf("2A"));
Ответ, который я получаю в консоли, равен -1 вместо 2, так как «2А» лежит на 2-й позиции.
Ваш код работает здесь. Я считаю, что опечатка была отсутствующей запятой – rafaelcpalmeida
Когда я вставляю код в jsFiddle, я вижу, что непечатные символы отображаются красным цветом. https://jsfiddle.net/j08691/mmdxn0vv/. Исправьте это, и все в порядке. – j08691
Возможный дубликат [Неожиданный результат функции String.indexOf?] (Http://stackoverflow.com/questions/21195583/unexpected-result-from-string-indexof-function) –