подстрока JavaScript

большая часть darndest вещи! следующий код распечатывает 'Лло' вместо ожидаемого 'wo'. я получаю такие неожиданные результаты для нескольких других чисел. что я пропускаю здесь?

alert('helloworld'.substring(5, 2));
69
задан Akira Yamamoto 4 April 2013 в 18:05
поделиться

3 ответа

Вы путаете substring() и substr(): substring() ожидает два индекса, а не смещение и длину. В вашем случае, индексы 5 и 2, т.е. символы 2..4 будут возвращены, так как более высокий индекс исключается.

100
ответ дан 24 November 2019 в 13:42
поделиться

Проверьте синтаксис substring :

substring (from, to)

from Обязательно. Индекс, куда начать добычу. Первый персонаж имеет индекс от 0

до Необязательно. Индекс где остановить добычу . Если опущен, он извлекает остальную часть string

Допускаю, что это немного странно. Сам не знал этого.

То, что вы хотите сделать, это

alert('helloworld'.substring(5, 7));
14
ответ дан 24 November 2019 в 13:42
поделиться
alert('helloworld'.substring(5, 2));

Приведенный выше код неверен, потому что первое значение является начальной точкой в ​​конечную точку. Например, переместитесь с символа 5, который равен o и перейдите к char 2, который является l , так что получите llo Итак, вы сказали ему вернуться назад.

Вы хотите

alert('helloworld'.substring(5, 7));
2
ответ дан 24 November 2019 в 13:42
поделиться
Другие вопросы по тегам:

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