О web-разработке
и даже немного больше...

Javascript: особенности использования length которые следует знать

length – свойство объекта, которое возвращает длину строки либо массива. Что касается массивов, то в случае использования данного свойства, результатом будет число, превосходящее на единицу верхний индекс массива, это связано с тем, что индексация массива происходит от 0 а не от 1.

Есть особенности, которыми обладает данное свойство, и о которых следует помнить:

  • Это свойство не связано с количеством элементов в массиве, таким образом, имея массив с одним элементом, индекс которого равен 10, свойство вернет значение 11.
  • Свойство доступно для записи, и это означает, что мы можем задать длину, к примеру, меньшую, чем индекс последнего элемента. В этом случае, массив будет урезан, а если задать значение большое значения последнего ключа элемента – массив будет расширен до заданного значения. Добавленные элементы в массиве будут иметь пустые значения.
  • Есть несоответствия в значениях этого свойства, содержащие пустые значения элементов, замеченные в IE и Gecko версий браузеров.

Рассмотрим простой пример, для обхода массива, с условием, где используется свойство length.

var numbers = [1,2,3,4,5];
for (var i = 0; i < numbers.length; i++){
	alert(numbers[i]);
}

Обратите внимание, что использование подобного перебора массива требует от массива упорядоченность его элементов. Если вы используете библиотеку JQuery вы так же можете воспользоваться конструкцией each.

Укорачиваем массив

var numbers = [1,2,3,4,5];
numbers.length=3
// numbers теперь [1,2,3]

Расширяем массив

var numbers = [1,2];
numbers[numbers.length]=3
// numbers теперь [1,2,3]

В случае со строками, то length возвращает длину строки. Таким образом, свойство содержит количество юникодовых символов в строке. Таким образом, для пустых строк length будет возвращать 0.

Для примера, давайте попробуем измерить длину заданной строки.

var x = "Тест"
alert("Длина равна " + x.length) // 4

Стоит обратить внимание на то, что пробел – тоже символ, и если вы замеряете строку содержащее пробелы, то они будут так же учитываться как символы.

Опубликован: 19.12.2016 г.

См. также:

Делаем кнопки «Поделиться в соцсетях»
Стрелочные функции в JS
Мобильное меню для сайта на CSS
Опасность использования атрибута target="_blank"
Бесконечная анимация вращения на CSS
Анимация вращения при наведении курсора
Стилизация выделения номера телефона в мобильных браузерах
Эффекты кнопок для сайта

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта