Как работает str.indexOf?

200
17 октября 2018, 04:00

Изучаю javascript. В учебнике вот такой пример:

var str = "Widget with id";
alert( str.indexOf("Widget") ); // 0, т.к. "Widget" найден прямо в начале str
alert( str.indexOf("id") ); // 1, т.к. "id" найден, начиная с позиции 1
alert( str.indexOf("widget") ); // -1, не найдено, так как поиск учитывает регистр

Почему во 2 случае 1 а не 2? Это ведь 3 элемент

Answer 1

Поиск идет по строке, значит по всем символам: Widget - "нашлось" id в слове Widget.

W i d g et with id
0 1 2 3 ...
// разделите строку на символы и увидите сами
"Widget with id".split('')
Answer 2

Тут как и в массивах, всё начинается с 0, так и первый символ всегда нулевой. Второй пример id нашёл, начиная с первого индекса, значит и выдал 1.

READ ALSO
Как добавлять элементы в объект js?

Как добавлять элементы в объект js?

Есть глобальные объект, который пытаюсь заполнять на фронте собирая данные из checkbox для отправки на север

285
Вывод названия дня в Google Charts

Вывод названия дня в Google Charts

мне нужно вывести название дня в дате в Google Charts

153
Eval где используется?

Eval где используется?

Зачем нужно использовать eval в JavaScript?

143