Методы pop/push, shift/unshift — КиберПедия 

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Методы pop/push, shift/unshift

2017-06-29 254
Методы pop/push, shift/unshift 0.00 из 5.00 0 оценок
Заказать работу

Одно из применений массива – это очередь. В классическом программировании так называют упорядоченную коллекцию элементов, такую что элементы добавляются в конец, а обрабатываются – с начала. В реальной жизни эта структура данных встречается очень часто. Например, очередь сообщений, которые надо показать на экране.

Очень близка к очереди еще одна структура данных: стек. Это такая коллекция элементов, в которой новые элементы добавляются в конец и берутся с конца.

Для того, чтобы реализовывать эти структуры данных, и просто для более удобной работы с началом и концом массива существуют специальные методы.

pop()

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

var fruits = ["Яблоко", "Апельсин", "Груша"];

fruits.pop(); // "Груша"

fruits; // Яблоко, Апельсин

 

push()

Добавляет элемент в конец массива:

var fruits = ["Яблоко", "Апельсин"];

fruits.push("Груша");

fruits; // Яблоко, Апельсин, Груша

 

shift()

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

var fruits = ["Яблоко", "Апельсин", "Груша"];

fruits.shift(); //Яблоко

fruits; // Апельсин, Груша

 

unshift()

Добавляет элемент в начало массива:

var fruits = ["Апельсин", "Груша"];

fruits.unshift('Яблоко');

fruits; // Яблоко, Апельсин, Груша

split(separator)

- позволяет превратить строку в массив, разбив ее по разделителю separator.

 

var names = 'Маша, Петя, Марина, Василий';

var arr = names.split(', ');

 

У метода split есть необязательный второй аргумент – ограничение на количество элементов в массиве:

 

"a,b,c,d".split(',', 2); // a,b

 

Вызов split с пустой строкой разобьёт по буквам:

 

"тест".split(''); // т,е,с,т

 

join([separator = ','])

 

— вовзращает строку, состоящую из элементов массива, объединённых используя separator (по умолчанию `','`).

 

var array = ['a', 'b', 'c'];

array.join(); // 'a,b,c'

array.join(''); // 'abc'

delete

var arr = ["Я", "иду", "домой"];

delete arr[1]; // ["Я", undefined, "домой"];

Оператор delete не удаляет элемент, только значение.

splice(index, howMany[, element1[,...[, elementN]]])

 

— изменяет массив, добавляя и/или удаляя элементы. Перестраивает индексы.

index — позиция, с которой выполнять изменения. Если отрицательный, то отсчитывает от конца.

howMany — сколько последующих символов удалить (может быть нулём).

element1, …, elementN — добавляемые после позиции элементы (могут быть упущены).

Возвращает массив удалённых элементов (если ни один не удалён — то пустой массив).

 

var array = ['a', 'b', 'c', 'd', 'e', 'f'];

array.splice(2, 2); // ['c', 'd']

array; // [ 'a', 'b', 'e', 'f' ]

array.splice(2, 0, 'c', 'd'); // []

array; // [ 'a', 'b', 'c', 'd', 'e', 'f' ]

 

slice(begin, end)

 

— возвращает копию участка массива от begin (включая) до end (не включая), или до конца массива, если end не указан. Отрицательные индексы отсчитываются от конца. Исходный массив при этом не меняется.

 

var array = ['a', 'b', 'c', 'd', 'e', 'f'];

array.slice(2, -1); // [ 'c', 'd', 'e' ]

array; // [ 'a', 'b', 'c', 'd', 'e', 'f' ]

sort([compareFunction])

 

— выполнить сортировку элементов массива.

compareFunction(a, b) — функция сортировки, если не задана, то сортирует значения как строки (не как числа).

 

[1, 2, 11].sort(); // [ 1, 11, 2 ]

[1, 2, 11].sort(function(a, b) { return a - b; }); // [ 1, 2, 11 ]

 

reverse()

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

 

var array = ['a', 'b', 'c'];

array.reverse(); // [ 'c', 'b', 'a' ]

array; // [ 'c', 'b', 'a' ]

 

concat(value1, value2,..., valueN)

 

— возвращает новый массив, состоящий из оригинального массива с добавлением перечисленных элементов.

value может быть значением или массивом. Если массив, то добавляются значения этого массива.

var arr = [1, 2];

arr.concat(3, 4); // 1,2,3,4

 

var arr = [1, 2];

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

 

indexOf(searchElement[, fromIndex = 0])

 

— индекс первого вхождения элемента searchElement в массиве, начиная с позиции fromIndex, если задана. Если элемента нет, возвращается -1. Производится строгое сравнение (===).

 

var arr = [1, 0, false];

arr.indexOf(0); // 1

arr.indexOf(false); // 2

arr.indexOf(null); // -1

 

lastIndexOf(searchElement[, fromIndex =.length])

 

— индекс последнего вхождения элемента searchElement в массиве, начиная с позиции fromIndex, если задана. Если элемента нет, возвращается -1. Производится строгое сравнение (===).

Перебирающие методы

forEach(callback[, thisArg])

— используется для перебора массива. Он для каждого элемента массива вызывает функцию callback. Ничего не возвращает. thisArg повзоляет указать контекст вызова.

 

Функция может принимать аргументы:

 

* value — текущий элемент массива

* index — индекс текущего элемента

* array — сам массив

 

map(callback[, thisArg])

 

— создаёт новый массив, состоящий из результата вызова функции callback на элементах оригинального массива.

 

filter(callback[, thisArg])

 

— создаёт новый массив из элементов, прошедших проверку функцией callback (если функция для них вернула true).

 

every(callback[, thisArg])

 

— проверить, что каждый элемент массива соответствует проверке, выполняемой функцией callback. Если на одном из значений функция вернёт значение, соответствующее false, то метод прекратит работу и вернут false, если же все элементы пройдут проверку, то вернётся true.

 

some(callback[, thisArg])

— проверить, что хотя бы один элемент массива соответствует проверке, выполняемой функцией callback. Если на одном из значений функция вернёт значение true, то метод прекратит работу и вернут true, если же ни один элемент не пройдёт проверку, то вернётся false.

 

reduce(callback[, initialValue])

 

— свести массив к скалярной величине используя функцию callback. С помощью initialValue можно указать изначальное значение. Если initialValue не указано, то оно равно первому элементу массива, а перебор начинается со второго.

Аргументы функции callback(previousValue, currentItem, index, arr):

· previousValue – последний результат вызова функции, он же «промежуточный результат».

· currentItem – текущий элемент массива, элементы перебираются по очереди слева-направо.

· index – номер текущего элемента.

· arr – обрабатываемый массив.

Например, мы хотим получить сумму всех элементов массива:

 

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

arr.reduce(function(sum, current) {return sum + current;}, 0); // 15

 

reduceRight(callback[, initialValue])

 

— порядок справа на лево.

 


Поделиться с друзьями:

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.