(Из книги "Говоря на языке JavaScript").
Массивы - пронумерованные последовательности элементов, обращаться к которым можно по индексам. Отсчет индексов ведется от нуля.
Литералы массивов используются для их быстрого создания:
У массивов есть много методов (см. Методы прототипа Array). Вот некоторые из них:
Существует несколько способов итерации (см. Итерация (неразрушающая)). Два наиболее распространенных способа - использование методов
Метод
Метод
Литералы массивов
var arr = [ 'a', 'b', 'c' ];
В этом массиве три элемента: строки
'a', 'b', и 'c'. К ним можно обратиться с помощью порядковых номеров (индексов):arr[0] // 'a' arr[0] = 'x'; // Теперь массив выглядит как [ 'x', 'b', 'c' ].
Свойство
length указывает как много элементов содержит массив. Его можно использовать для добавления и удаления элементов:var arr = ['a', 'b']; arr.length // 2 arr[arr.length] = 'c'; // Теперь массив такой: [ 'a', 'b', 'c' ] arr.length // 3 arr.length = 1; // Теперь это [ 'a' ]
Оператор
in применим не только к объектам, но и к массивам:var arr = [ 'a', 'b', 'c' ]; 1 in arr // true 5 in arr // false
Обратите внимание, что массивы это разновидность объектов, со всеми вытекающими последствиями:
var arr = []; arr.foo = 123; arr.foo // 123
Методы массивов
var arr = [ 'a', 'b', 'c' ];
arr.slice(1, 2) // [ 'b' ].
arr.slice(1) // [ 'b', 'c' ].
arr.push('x') // [ 'a', 'b', 'c', 'x' ].
arr.pop() // Вытолкнули 'x', стало [ 'a', 'b', 'c' ].
arr.shift() // Удаление первого, стало [ 'b', 'c' ].
arr.unshift('x') // Вставили в начало, стало [ 'x', 'b', 'c' ].
arr.indexOf('b') // Поиск индекса (1).
arr.indexOf('y') // Не найден (-1).
arr.join('-') // Слияние в строку, 'x-b-c'.
arr.join('') // 'xbc'
arr.join() // 'x,b,c'
Обход элементов массива
forEach и map.Метод
forEach перебирает элементы массива и передает текущий элемент и его индекс функции:
['a','b','c'].forEach(function(elem,index){// (1)console.log(index+'. '+elem);});
Этот код выведет:0. a 1. b 2. c
Обратите внимание, что функция в строке (1) может обойтись и без полного набора аргументов. Она может, например, использовать только параметр
elem.Метод
map создает новый массив, применяя к элементам исходного некую функцию:[1,2,3].map(function (x) { return x*x }) // Получится [ 1, 4, 9 ].
Комментариев нет:
Отправить комментарий