Array

class Array
class Array(размер)
class Array(элемент0, элемент1, ...)

Массив

Наследник Object

var array = [];

var cities = ['moscow', 'kazan'];
cities.length;
// 2

cities[0];
// 'moscow'

cities[3] = 'abakan';
cities.length;
// 4

cities;
//['moscow', 'kazan', '', 'abakan']

cities.length = 2;
cities;
// ['moscow', 'kazan']

cities['city'] = 45;
cities.length;
// 2
var a = new Array();

var b = new Array('hey', 'you');

var c = new Array(3);

var a = [];
a[5] = 5;
for (var x in a){
    // выведет только 5
    ...
}
for (var i=0; i<a.length; i++){
    // выведет все 5 элементов
    ...
}

Note

EcmsScript6

let [a, b, c] = [1, 2, 3];

let [a, , b] = [1, 2, 3];
console.log(a, b);
// 1, 3

let [a, ...b] = [1, 2, 3, 4];
console.log(b);
// [2, 3, 4]

let [a, , , ...b] = [1, 2, 3, 4, 5, 6];
console.log(b);
// [4, 5, 6]
length

Возвращает число, количество элементов в массиве

['moscow', 'kazan'].length;
// 2
concat(item...)

Возвращает новый массив, расширенный значениями из аргумента

Ели аргументом является массив, то добавляются только те элменты которых нет в исходном массиве

var a = [1, 2, 3];

a.concat([4, 5], 'end');
// [1, 2, 3, 4, 5, 'end']

a.concat([4, 5])
// [1, 2, 3, 4, 5]
copyWithin(targetIndex, startIndex, endIndex)

Копирует последовательность значений массива в другое место этого массива

New in version EcmaScript6.

let arr1 = [1, 2, 3, 4, 5];
arr1.copyWithin(1, 2, 4);
arr1;
// 1, 3, 4, 4, 5

let arr2 = [1, 2, 3, 4, 5];
arr2.copyWithin(0, 1);
arr2;
// 2, 3, 4, 5, 5

let arr3 = [1, 2, 3, 4, 5];
arr3.copyWithin(1, -2);
arr3;
// 1, 4, 5, 4, 5

let arr4 = [1, 2, 3, 4, 5];
arr4.copyWithin(1, -2, -1);
arr4;
// 1, 4, 3, 4, 5
entries()

Возвращает итерируемый объект, содержащий массив пары ключ/значение, для каждого индекса массива.

New in version EcmaScript6.

every(callback[, this])

Возвращает булево, соответсвие всех элементов массива условию обработчика.

New in version ECMAScript5.

[1, 2, 3].every(function(item, index, array){
    return x < 5
});
// true

[1, 2, 3].every(function(item, index, array){
    return x < 3
});
// false
fill(value, startIndex, endIndex)

Заменяет все элементы массива в казанном промежутке указанным значением.

Note

EcmaScript6

[1, 2, 3, 4].fill(5);
// [5, 5, 5, 5]

[1, 2, 3, 4].fill(5, 1, 2);
// [1, 5, 3, 4]

[1, 2, 3, 4].fill(5, 1, 3);
// [1, 5, 5, 4]

[1, 2, 3, 4].fill(5, -3, 2);
// [1, 5, 3, 4]

[1, 2, 3, 4].fill(5, 0, -2);
// [5, 5, 3, 4]
filter(callback[, filter])

Возвращает массив элементов, удовлетворяющих требованиям обработчика

New in version ECMAScript5.

[1,2,3].filter(function(item, index, array) {
    return item > 1;
});
// [2, 3]
find(testingFunc, this)

Возвращает элемент массива, который удовлетворяет условиям функции проверки

New in version ECMAScript5.

[11, 12, 13].find(function(value, index, array){
    if (value == this){
        return true;
    }
}, 12);
// 12
findIndex(testingFunc, this)

Возвращает индекс элемента массива удовлетворяющего условию

New in version EcmaScript6.

[11, 12, 13].find(function(value, index, array){
    if (value == this){
        return true;
    }
}, 12);
// 1
forEach(callback[, this])

Вызывает функцию-обработчик для каждого элемента массива

New in version ECMAScript5.

[1, 2, 3].forEach(function(item, index, array){
    ...
});
from(iterable, function, this)

Note

ECMAScript6

Array.from("1, 2, 3", function(item){
    return this.number * item;
}, {number: 10});
// [10, 20, 30]
join(separator=', ')

Возвращает строку, полученную преобразованием всех элементов массива в строки и объединенные через разделитель

New in version ECMAScript5.

[1,2,3].join('');
// '123'
indexOf(значение[, int pos=0])

Возвращает число, позиция элемента в массиве

New in version ECMAScript5.

['a','b','c'].indexOf('b');
// 1

['a','b','c'].indexOf('d');
// -1

['a','b','c'].indexOf('a', 1);
// -1
keys()

Возвращает итерируемый объект, содержащий ключи для всех идексов массива.

New in version EcmaScript6.

lastIndexOf(значение[, int pos=array.length])

Возвращает число, позиция элемента в массиве в обратном порядке

New in version ECMAScript5.

map(callback[, this])

Возвращает массив, вычисленный по функции-обработчику

New in version ECMAScript5.

[1, 2, 3].map(function(item, index, array) {
    return item * item;
});
// [1, 4, 9]
of(values...)

Создает массив из 1 значения

Note

EcmaScript6

Array(2);
// []

Array.of(2);
// [2]
pop()

Возвращает последний элемент и удаляет его из массива

New in version ECMAScript5.

var c = [1,2,3];
c.pop();
// 3
c;
// [1,2]
push(item...)
Добавляет объект в конец массива и возвращает количесвто элементов в массиве
var c = [1,2,3];
c.push(4);
c;
// [1,2,3,4]
// копирование значений из одного массива в другой
var array1 = [2, 3, 4];
var array2 = [1];
Array.prototype.push.apply(array2, array1);
// [1, 2, 3, 4]

Note

EcmaScript6

// копирование значений из одного массива в другой
var array1 = [2, 3, 4];
var array2 = [1];
array2.push(...array1)
// [1, 2, 3, 4]
reduce(callback[, int start=0])

Вычисляет значение на основе элементов данного массива, свертка массива

New in version ECMAScript5.

[1,2,3].reduce(function(a, b){
    return a + b;
});
// 6
reduceRight(callback[, int start=0])

Вычисляет значение на основе элементов данного массива, спарва налево, свертка массива

New in version ECMAScript5.

reverse()

Возвращает развернутый в обратныом порядке массив

var a = [1, 2, 3];
a.reverse();
// [3, 2, 1]
shift()

Возвращает первый элемент массива, и удалеят его из массива

var a = [1, [2, 3], 4];
var b = a.shift();
// 1
a;
// [[2, 3], 4]
slice(start, end)

Возвращает фрагмент массива

[1, 2, 3, 4, 5].slice(0, 3);
// [1, 2, 3]

[1, 2, 3, 4, 5].slice(3);
// [4, 5]

[1, 2, 3, 4, 5].slice(1, -1);
// [2, 3, 4]

[1, 2, 3, 4, 5].slice(-3, -2);
// [3]
some(callback[, this])

Проверяет, возвращает ли предикат значение true хотя бы для одного элемента массива

New in version ECMAScript5.

[1,2,3].some(function(item, index, array) {
    return x > 5;
})
// => false: нет эле­мен­тов > 5

[1,2,3].some(function(item, index, array) {
    return x > 2;
})
// => true: не­ко­то­рые > 3

[].some(function(item, index, array) {
    return true;
});
// => false: все­гда false для []
sort([comparator])

Сортирует массив, принимает функцию сравнения, которая может вернуть -1, 0, 1

var a = [1, 2, 15];
a.sort();
a;
// [1, 15, 2]

a.sort(func(a, b){});
splice(start, deleteCount, item...)

Удаляет указанный срез и возвращает их, вставляя в исходный массив указанные элементы массива

var c = [1, 2, 3, 4, 5];

c.splice(1,2);
// [2, 3]

c;
// [1, 4, 5];

c.splice(1, 2, 33, 44);
// [4, 5]

c;
// [1, 33, 44]
unshift(item...)

Добавляет в начало массива элементы и возвращает длину массива

var a = [];
a.unshift(1);
a;
// [1]
values()

Возвращает итерируемый объект, содержащий значения элементов массива.

New in version EcmaScript6.