Методы и Свойства Массива JavaScript
Рассмотрим основные свойства и методы массивов в JavaScript, которые позволяют определить количество элементов в массиве, соединить несколько массивов, представить массив в виде строки, добавить элемент в массив и др.
.length
Свойство .length
используется, чтобы определить количество элементов в массиве.
Пример
var myArray = [ "привет", "мир", "!" ];
alert( myArray.length ); // 3
Попробуйте Сами »
Вам потребуется свойство .length
для цикличного обхода массива:
Пример
var myArray = [ "привет", "мир", "!" ];
for ( var i = 0; i < myArray.length; i = i + 1 ) {
console.log( myArray[ i ] );
}
Попробуйте Сами »
Кроме тех случаев, когда используются циклы for
/in
:
Пример
var myArray = [ "привет", "мир", "!" ];
for ( var i in myArray ) {
console.log( myArray[ i ] );
}
Попробуйте Сами »
.concat()
Свяжите два или более массива с .concat()
:
var myArray = [ 2, 3, 4 ];
var myOtherArray = [ 5, 6, 7 ];
var wholeArray = myArray.concat( myOtherArray );
// [ 2, 3, 4, 5, 6, 7 ]
.join()
.join()
создает строковое представление массива, соединяя все его элементы, используя строку разделителя. Если никакой разделитель не предоставляется (то есть, .join()
вызывается без параметров), массив будет соединен, используя запятую.
Пример
var myArray = [ "привет", "мир", "!" ];
// Разделитель по умолчанию - запятая.
console.log( myArray.join() ); // "привет,мир,!"
// Любая строка может использоваться как разделитель...
console.log( myArray.join( " " ) ); // "привет мир !";
console.log( myArray.join( "!!" ) ); // "привет!!мир!!!";
// ...включая и пустую строку.
console.log( myArray.join( "" ) ); // "приветмир!"
Попробуйте Сами »
.pop()
.pop()
удаляет последний элемент массива. Это - противоположный метод .push()
:
// Pushing and popping
var myArray = [];
myArray.push( 0 ); // [ 0 ]
myArray.push( 2 ); // [ 0 , 2 ]
myArray.push( 7 ); // [ 0 , 2 , 7 ]
myArray.pop(); // [ 0 , 2 ]
.reverse ()
Как предполагает имя метода, элементы массива меняются в обратном порядке после вызова этого метода:
var myArray = [ "мир" , "привет" ];
myArray.reverse(); // [ "привет", "мир" ]
.shift()
Удаляет первый элемент массива. С .push()
и .shift()
, можно воссоздать метод очереди:
// Очередь с shift() и push()
var myArray = [];
myArray.push( 0 ); // [ 0 ]
myArray.push( 2 ); // [ 0 , 2 ]
myArray.push( 7 ); // [ 0 , 2 , 7 ]
myArray.shift(); // [ 2 , 7 ]
.slice()
Извлекает часть массива и возвращает эту часть в новом массиве. Этот метод берет один параметр, который является начальным значением индекса:
Пример
var myArray = [ 1, 2, 3, 4, 5, 6, 7, 8 ];
var newArray = myArray.slice( 3 );
console.log( myArray ); // [ 1, 2, 3, 4, 5, 6, 7, 8 ]
console.log( newArray ); // [ 4, 5, 6, 7, 8 ]
Попробуйте Сами »
.splice()
Удаляет определенное количество элементов и добавляет новые по данному индексу. Требуется по крайней мере три параметра:
myArray.splice( индекс, длина, значения, ... );
Индекс – начальное значение индекса.
Длина – число элементов, которые надо удалить.
Значения – значения, которые будут вставлены в позиции индекса.
Например:
Пример
myArray.splice( 1, 2, 1, 2, 3, 4 );
console.log( myArray ); // [ 0, 1, 2, 3, 4, 5 ]
Попробуйте Сами »
.sort()
Сортирует массив. Требуется один параметр, который является сравнивающейся функцией. Если эта функция не указывается, массив сортируется по возрастанию:
// Сортировка без функции сравнения.
var myArray = [ 3, 4, 6, 1 ];
myArray.sort(); // 1, 3, 4, 6
// Сортировка с функцией сравнения.
function descending( a, b ) {
return b - a;
}
var myArray = [ 3, 4, 6, 1 ];
myArray.sort( descending ); // [ 6, 4, 3, 1 ]
Возвращаемое значение descending (для этого примера) важно. Если возвращаемое значение - меньше чем нуль, индекс a идет перед b, и если оно больше чем нуль, то напротив. Если возвращаемое значение - нуль, индекс элементов одинаков.
.unshift ()
Вставляет элемент в начальную позицию массива:
var myArray = [];
myArray.unshift( 0 ); // [ 0 ]
myArray.unshift( 2 ); // [ 2 , 0 ]
myArray.unshift( 7 ); // [ 7 , 2 , 0 ]
.forEach()
В современных браузерах можно перечислять значения массива методом .forEach()
, куда Вы передаете функцию, которая вызывается для каждого элемента в массиве.
Функция принимает до трех параметров:
Элемент – сам элемент.
Индекс – индекс этого элемента в массиве.
Массив – сам массив.
Все они являются опциональными, но Вам потребуется, по крайней мере, параметр Элемент в большинстве случаев.
Пример
function printElement( elem ) {
console.log( elem );
}
function printElementAndIndex( elem, index ) {
console.log( "Индекс " + index + ": " + elem );
}
function negateElement( elem, index, array ) {
array[ index ] = -elem;
}
myArray = [ 1, 2, 3, 4, 5 ];
// Печать всех элементов в консоль
myArray.forEach( printElement );
// Печатает "Индекс 0: 1", "Индекс 1: 2", "Индекс 2: 3", ...
myArray.forEach( printElementAndIndex );
// myArray теперь [ -1, -2, -3, -4, -5 ]
myArray.forEach( negateElement );
Попробуйте Сами »