Доступ к элементам массива
Создание нового HTML элемента из JavaScript
1) Создание HTML элемента
Чтобы создать новый HTML элемент из JavaScript существует команда
var element = document.createElement([имя тэга]);
- element– это будет объект-элемент, который вы создадите.
- [имя тэга]– это строка, с помощью которой мы указываем, какого типа элемент мы будем создавать.
2) Добавление созданного элемента в DOM
Элемент недостаточно просто создать – его нужно еще добавить куда-то в документ. Существует функция для добавления элемента в конец списка дочерних элементов указанного элемента-родителя. Эта функция может принять и добавить в список дочерних в том числе и элемент, уже существующий в документе. Если этот элемент уже существует, он будет удален из своего текущего родительского элемента, а затем добавлен внутрь нового родителя.
element.appendChild(child);
- element– это новый родительский элемент.
- child– это элемент, который мы добавляем внутрь element.
Массивы в JavaScript – более детально
Создание массива
var frukti = [“Абрикос”,“Яблочко”,”Апельсинка”];
console.log(frukti.length);
//мы увидим длину массива – 3 элемента
Доступ к конкретному элементу массива (по индексу)
var perviy = frukti[0];
//”Абрикос” – первый элемент в массиве с индексом 0, который мы записываем в переменную perviy
var posledniy = frukti[frukti.length-1];
//”Апельсинка” – последний элемент в массиве, с индексом на один меньше, чем длинна массива
Перебор массива
frukti.foreach(function (frukt, nomer) {
console.log(frukt+” “+nomer);
});
// функция внутри foreach сработает на каждом элементе. Ее первым атрибутом будет значение текущего элемента, а вторым – его индекс в массиве
//в консоли мы получим “Абрикос 0 Яблочко 1 Апельсинка 2”
Добавить элемент в конец массива
frukti.push(“Персик”);
//Теперь наш массив выглядит так: [“Абрикос”, “Яблочко”, ”Апельсинка”, ”Персик”];
Удалить последний элемент в массиве
var posledniy = frukti.pop(); //убираем персик из массива
//Теперь наш массив снова выглядит так: [“Абрикос”, “Яблочко”, “Апельсинка”];
//Персик сохранился в переменной posledniy
Удалить первый элемент в массиве
var perviy = frukti.shift(); //убираем абрикос из массива
//Теперь наш массив выглядит так: [“Яблочко”, “Апельсинка”];
Добавить элемент в начало массива
frukti.unshift(“Ананас”); //добавляем ананас в начало
//Теперь наш массив выглядит так: [“Ананас”, “Яблочко”, “Апельсинка”];
Найти по какому индексу в массиве находится какой-то элемент
frukti.push(“Груша”);
//Теперь наш массив выглядит так: [“Ананас”, “Яблочко”, “Апельсинка”, “Груша”];
var nomer = frukti.indexOf(“Апельсинка”);
//В переменной nomer будет 2 – индекс элемента “Апельсинка”
Убрать элемент с определенным индексом
var lishniyFrukt = frukti.splice(nomer,1); //мы удалили 1 объект из массива и записали его в переменную lishniyFrukt
//Теперь наш массив выглядит так: [“Ананас”, “Яблочко”, “Груша”]
Скопировать массив
var copy = frukti.slice(); //мы скопировали массив frukti в новый массив copy
//Теперь в copy тоже будет [“Ананас”, “Яблочко”, “Груша”]
Описание
Массивы являются спископодобными объектами, чьи прототипы содержат методы для операций обхода и изменения массива. Ни размер JavaScript-массива, ни типы его элементов не являются фиксированными. Поскольку размер массива может увеличиваться и уменьшаться в любое время, то нет гарантии, что массив окажется плотным. То есть, при работе с массивом может возникнуть ситуация, что элемент массива, к которому вы обратитесь, будет пустым и вернёт undefined. В целом, это удобная характеристика; но если эта особенность массива не желательна в вашем специфическом случае, вы можете рассмотреть возможность использования типизированных массивов.
Доступ к элементам массива
Массивы в JavaScript индексируются с нуля: первый элемент массива имеет индекс, равный 0, а индекс последнего элемента равен значению свойства массива length минус 1.
var arr = ['первый элемент', 'второй элемент'];console.log(arr[0]); // напечатает 'первый элемент'console.log(arr[1]); // напечатает 'второй элемент'console.log(arr[arr.length - 1]); // напечатает 'второй элемент'Элементы массива являются свойствами, точно такими же, как, например, свойство toString, однако попытка получить элемент массива по имени его свойства вывалится с синтаксической ошибкой, поскольку имя свойства не является допустимым именем JavaScript:
console.log(arr.0); // синтаксическая ошибкаЭто не особенность массивов или их свойств. В JavaScript к свойствам, начинающимся с цифры, невозможно обратиться посредством точечной нотации; к ним можно обратиться только с помощью скобочной нотации. Например, если у вас есть объект со свойством, названным '3d', вы сможете обратиться к нему только посредством скобочной нотации. Примеры:
var years = [1950, 1960, 1970, 1980, 1990, 2000, 2010];console.log(years.0); // синтаксическая ошибкаconsole.log(years[0]); // работает как положено