IcEWaRRiOr, потому что счёт от нуля как раз самый логичный. Более того, как ты вообще совместил имена индексов и длину? Это вообще разные понятия. Индекс ─ это просто имя ячейки, грубо говоря, а длина, это количество элементов в массиве.
Чтобы понять почему в программировании массивы стартуют с нуля, загугли что такое массив в целом и как он устроен.
Если кратко, то переменная хранит только ссылку на место (адрес), где хранятся элементы массива. Соответственно 0 говорит о том, что элемент надо читать прямо со ссылки массива. 1 означает, что начинать надо со второго блока и т.д.
Крайне грубо расписал, поэтому лучше загугли.
iredoff, что, простите? В программировании в целом счёт с нуля является стандартом и ЯП, где массивы начинаются 1 скорее редкость, чем нормальное явление.
Более того, счёт с нуля в ЯП появился ещё за долго до появления ЖСа.
Ну пусть будет map, хотя это здесь отнюдь не принципиально IMHO.
Влад, исходя из того, какой код у тебя получился, с ес6 у тебя всё плохо... Почитай как работает мап, потому что если ты подобное извращение где-нибудь продемонстрируешь в публичном месте, в лучшем случае тебя линчуют.)
/* чуть сложней, но более информативный */
items.forEach( console.log ) ;
Александр Мыльченко, не стоит так делать... Поскольку в функцию передастся не только значение текущего элемента, но так же индекс и ссылка на сам массив. И если логгер просто всё это залогает, то другие функции могут повести себя не так, как предполагалось.
Именно поэтому такой вариант самый правильный: items.forEach( ( data ) => console.log( data )) ;
Strannyk, тем не менее, всё это хрень, поскольку такая запись, как в приведённом тобой примере, это говнокод. Но это ладно, самое главное то, что форыч, мап, редьюс и т.д. точно так же, как и форин, прочитают только 5ый по индексу элемент.
webdisigner, на самом деле вполне логично, ведь массив в жс ─ это объект, хоть и специфический. Форин проходит по ключам объекта, то есть это, по сути, аналог вот такой реализации: Object.keys(arr).forEach( ... );
webdisigner, использовать форин для перебора массива ─ это очень плохой паттерн.
Фор и фороф итак сейчас не приветствуются, а в форине вообще смысла ноль.
i < text.length + 1;
Это что в конце?