Задать вопрос
Muranx
@Muranx
кто понял this тот в цирке не смеётся

Как объяснить работу метода indexOf( ) в данном случае?

Здравствуйте ! Банально, но не понятно !

console.log('Widget with id and'.indexOf('Widget')); // 0 ok
console.log('Widget with id and'.indexOf('with')); // 7 ok 
console.log('Widget with id and'.indexOf('id')); // 1 wtf?
console.log('Widget with id and'.indexOf('and')); // 15 ok

console.log('Widget with id and'.indexOf('Widget')); // 0 ok
console.log('Widget with id and'.indexOf('with')); // 7 ok 
console.log('Widget with ids and'.indexOf('ids')); // 12 ok
console.log('Widget with id and'.indexOf('and')); // 15 ???

Почему в первом блоке кода вхождение id получилось 1??? ведь оно же на 12й позиции. . . И почему во втором блоке кода ids на нормальной ( 12й позиции ) НО вот почему-то and не сдвинулось на одну позицию, а так и осталось на 15й, ведь мы же добавили один символ ids? Никак не пойму!
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Widget содержит подстроку id. Что не ясно?
А насчёт and. Так вы не там добавили символ.

Рекомендую поспать ))
Ответ написан
Seasle
@Seasle Куратор тега JavaScript
console.log('Widget with id and'.indexOf('id'));
Widget with id and

Хотите искать слова, тогда так
const sentence = 'Widget with id and';
const words = sentence.match(/\w+/g); // ['Widget', 'with', 'id', 'and']
console.log(words.indexOf('id'));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы