#arrays #methods
#массивы #методы
Вопрос:
У меня есть вопрос относительно метода .slice():
Используйте метод среза, чтобы вернуть слово «бананы».
var txt = "I can eat bananas all day";
var x = txt.slice(10, 17); //This doesn't make sense...why 10 and 17?
Итак: они считают буквы в предложении? Поскольку буква «b» слова bananas является 7-й в array…so как это может быть 10?
Комментарии:
1. Это 10-я буква. Похоже, вы ошиблись в подсчете. 7-я буква — это «a» в «eat».
2. Как вы это считаете? Просто любопытно… Я начинаю с «I», которое равно 0 …?
3. Для начала каждого слова I равно 0, c равно 2, e равно 6, а b в banana равно 10.
4. Если вы знаете Python,
list(enumerate("I can eat bananas all day"))
выдает[(0, 'I'), (1, ' '), (2, 'c'), (3, 'a'), (4, 'n'), (5, ' '), (6, 'e'), (7, 'a'), (8, 't'), (9, ' '), (10, 'b'), (11, 'a'), (12, 'n'), (13, 'a'), (14, 'n'), (15, 'a'), (16, 's'), (17, ' '), (18, 'a'), (19, 'l'), (20, 'l'), (21, ' '), (22, 'd'), (23, 'a'), (24, 'y')]
, который показывает индексы каждой буквы.5. Спасибо за ответ. Очень ценится. 🙂 Я кодировал на JavaScript…
Ответ №1:
индекс строки начинается с 0. Это означает, что первый символ в строке имеет индекс 0.
В строке также учитывается каждый пробел.
Таким образом, это означает, что в вашей строке первая буква ‘I’ является 0-м элементом. Теперь начните считать от буквы «I». Пробел рядом с буквой «I» находится в индексе 1. И продолжайте подсчет индексов.
Первый параметр Slice(a, b) будет указывать на этот точный индекс в строке (это индекс ath), а последний параметр будет указывать на один индекс до этого (это индекс b-1th).
В вашем случае первый параметр равен 10. Итак, 10-й индекс хранит ‘b’.
в 17-м индексе хранится пробел. Но он будет указывать на 16-й индекс, в котором хранится ‘s’.
номер индекса для бананов записывается,
'b' - txt[10]
'a' - txt[11]
'n' - txt[12]
'a' - txt[13]
'n' - txt[14]
'a' - txt[15]
's' - txt[16]