удаляет последний элемент массива, уменьшает длину массива на единицу и возвращает значение удаленного элемента. Если массив уже пуст,
рор
его не изменяет и возвращает значение
undefined
.
Пример
Метод
рор
и парный ему метод
push
позволяют реализовать стек, работающий по принципу «первым вошел, последним вышел». Например:
var stack = []; // stack:
[]
stack.push(1, 2); // stack:[1,2] Вернет 2
stack.pop; // stack:[1] Вернет 2
stack.push([4,5]);// stack:[1,[4,5]] Вернет 2
stack.pop // stack:
[1] Вернет [4,5]
stack.pop; // stack:
[] Вернет 1
См. также
Array.push
Array.push
добавляет элементы массива
Синтаксис
массив, push(значение, ...)
Аргументы
значение, ... Одно или более значений, которые должны быть добавлены в конец массива.
Возвращаемое значение
Новая длина массива после добавления в него указанных значений.
Описание
Метод
push
добавляет свои аргументы в указанном порядке в конец массива. Он изменяет существующий массив, а не создает новый. Метод
push
и парный ему метод
рор
используют массив для реализации стека, работающего по принципу «первым вошел, последним вышел». Пример - в статье Array.рор.
См. также
Array. рор
Array.reduce (ECMAScript 5)
вычисляет значение из элементов массива
Синтаксис
массив.reduce(f)
массив.reduce(f, начальное_значение)
Аргументы
f Функция, объединяющая два значения (два элемента массива) и возвращающая новое значение «свертки».
начальное_значение Необязательное начальное значение свертки массива. Если этот аргумент указан, метод
reduce
будет действовать, как если бы это значение было добавлено в начало массива.
Возвращаемое значение
Значение свертки массива, которое является результатом последнего вызова функции f.
Описание
Метод
reduce
в первом аргументе принимает функцию f. Эта функция должна действовать как двухместный оператор: она должна принимать два значения, выполнять над ними некоторую операцию и возвращать результат. Если массив имеет n элементов, функция f будет вызвана методом
reduce
для свертки элементов в единственное значение n -1 раз. (Возможно, вы уже знакомы с операцией свертки массивов по другим языкам программирования [61]
61
В
других языках программирования эта операция может называться «fold» или «inject». Однако в русскоязычной литературе эти термины переводятся как «свертка» (Прим. перев.))
При первом вызове функции f передаются два первых элемента массива. При каждом следующем вызове функции f передаются значение, полученное при предыдущем вызове, и следующий элемент (в порядке возрастания индексов) массива. Возвращаемое значение последнего вызова становится возвращаемым значением метода
reduce
. Методу
reduce
может предаваться второй необязательный аргумент с начальным_значением. Если начальное_значение указано, метод
reduce
будет действовать так, как если бы значение этого аргумента было вставлено в начало массива (в реальности массив не модифицируется). Иными словами, если метод
reduce
вызывается с двумя аргументами, то начальное_значение будет использоваться, как если бы оно было получено ранее в результате вызова функции f. В этом случаев при первом вызове функции f будут переданы начальное_значение и первый элемент массива. Когда передается начальное_значение, создается свертка из n+1 элементов (n элементов массива плюс начальное_ значение) и функция сбудет вызвана n раз.
Если массив пуст и начальное_значение не указано, метод
reduce
возбудит исключение
ТуреЕrror
. Если массив пуст и начальное_значение указано, метод
reduce
вернет начальное_значение, не вызвав f ни разу. Если массив имеет единственный элемент и начальное_значение не указано, метод
reduce
вернет единственный элемент массива, не вызывая функцию f.
Выше говорится о двух аргументах функции f, но в действительности метод
reduce
передает этой функции четыре аргумента. В третьем аргументе передается индекс второго аргумента в массиве, а в четвертом - сам массив. Функция f всегда вызывается как функция, а не как метод.
f Функция, объединяющая два значения (два элемента массива) и возвращающая новое значение «свертки».
начальное_значение Необязательное начальное значение свертки массива. Если этот аргумент указан, метод
reduceRight
будет действовать, как если бы это значение было добавлено в конец массива.
Возвращаемое значение
Значение свертки массива, которое является результатом последнего вызова функции f.
Описание
Метод
reduceRight
действует подобно методу
reduce:
он вызывает n-1 раз функцию f для свертки n элементов массива в единственное значение. Отличие
reduceRight
от
reduce
заключается только в том, что он выполняет обход элементов массива справа налево (от больших индексов к меньшим), а не слева направо. Подробности см. в статье Array.reduce.