Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос


Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Update: Более новый материал по этой теме находится по адресу https://learn.javascript.ru/array.

Javascript поддерживает два вида структуры "массив":

  1. Ассоциативный массив (хеш), где данные хранятся по произвольному ключу.
    Об этом читайте в разделе Объекты.
  2. Числовой массив Array, где данные хранятся по номерам.
    Он описан в этой статье.

Javascript - очень гибкий язык, поэтому технически в Array можно хранить произвольные ключи, как в Object. Но лучше использовать типы по назначению.

Для хранения данных по номеру предназначен тип Array.


var arr = new Array()
arr.test = 5
arr[1] = "blabla"
...

В типе Array есть специальные методы, ориентированные именно на работу с числовыми ключами.

Есть два эквивалентных способа создания массива:


var a = new Array()
var a = []

Или, сразу со значениями


var a = new Array("a", 1, true)
var a = ["a", 1, true]

Эти способы работают одинаково, кроме объявления вида new Array(10), когда у конструктора есть единственный аргумент-число.

Такое объявление создаст пустой массив (все элементы undefined) длиной 10. По возможности, не используйте new Array.

Отсчет элементов начинается с нуля:


alert(a[0])   // => "a"

Массив хранит данные по численным ключам, но внутри он использует точно такой же хэш (ту же структуру данных), как и обычный объект, поэтому можно сделать так:


var a = []
a[1] = 1
a[999999] = 2

и массив a будет занимать память, нужную для хранения этих двух соответствий, а не займет длинный непрерывный кусок памяти, как это произошло бы в языке С.

У каждого массива есть свойство length, которое автоматом меняется при каждом обновлении массива. Длина массива - это не количество элементов, а максимальный целый ключ + 1:


alert(a.length) // всего 2 элемента, но выведет 1000000

Добавлять новый элемент можно эквивалентными вызовами


a[a.length] = "new element"
a.push("new element")

Перебор элементов обычно (когда индексы непрерывные) осуществляется простым циклом:


var arr = [ "array", "elements", "here" ]
for(var i=0; i<arr.length; i++) {
  ... сделать что-то с arr[i] ...
}

Если индексы - с разрывами, то перебор осуществляется так же, как в объектах:


var arr = []
arr[1] = 123
arr[9999] = 456

for(var i in arr) {
    if (!arr.hasOwnProperty(i)) continue;
   ... сделать что-то с arr[i] ...
}

В массиве есть всё необходимое, чтобы работать с ним как с очередью или со стеком, или и с тем и другим одновременно.

Методы push и pop добавляют или вынимают значение с конца массива


var arr = [3,5,7]
arr.push(9)
var last = arr.pop()    //= 9
var last = arr.pop()   // = 7
alert(arr.length)   // = 2

Методы shift/unshift делают то же самое, с начала массива.


var arr = [4,6,8]
arr.unshift(2) // arr = [2,4,6,8]
arr.unshift(0) // arr = [0,2,4,6,8]
var last = arr.shift() // last = 0, arr = [2,4,6,8]
arr.shift()  // arr = [4,6,8]

shift/unshift обычно приводят к перенумерации всего массива. shift сдвигает все элементы на единицу влево, а unshift - вправо. Поэтому на больших массивах эти методы работают медленнее, чем push/pop.

Массив


slice(begin[, end])

Возвращает подмассив с индексами begin…end.


splice(index, deleteCount[, element1,…, elementN])

Удалить deleteCount элементов, начиная с index, и вставить на их место element1…elementN

Есть и еще много методов:

  • join
  • reverse
  • ...

О них можно почитать на английском, например, в http://developer.mozilla.org/en/..Array

























































































































































































Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
 
Текущий раздел


Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос

Легкие и быстрые прически своими руками для коротких волос