Массив массив
1. Введение
Массив - это упорядоченный сбор значений. Каждое значение называется элементом, и каждый элемент имеет позицию в массиве, представленное чисел, называемое индексом. Массивы JavaScript не имеют типа: элементы массива могут быть любого типа, а различные элементы в одном и том же массиве также могут иметь разные типы. -«Авторитетное руководство по JavaScript (шестое издание)»
2. Определение
Кода -копия выглядит следующим образом:
var names = new Array ("Zhang San", "li Si", "Wang wu");
//или
var names = ["Zhang San", "li Si", "wang wu"];
3. Свойства
Длина: представляет длину элемента в массиве.
4. Пример метода
Общие методы:
1) unshift (): вставьте элемент в голову массива
2) shift (): удалить и вернуть первый элемент массива
3) push (): вставьте элемент в конце массива
4) pop (): удалить и вернуть последний элемент массива
4.1 concat (): подключить элементы к массиву. Оригинальный массив не будет изменен, а новый массив будет возвращен.
Параметр:
①value1, значение2 ... Valuen: Любое количество значений
Возвращаемое значение:
{Array} Новый массив, содержащий оригинальный массив и вновь добавленные элементы.
Пример:
Кода -копия выглядит следующим образом:
var demoarray = ['a', 'b', 'c'];
var demoarray2 = demoarray.concat ('e');
console.log (демо -боран); // => demoharray: ['a', 'b', 'c'] оригинальный массив не меняется
console.log (demoarray2); // => ['a', 'b', 'c', 'e']
4.2 Каждый (): пересечь элементы по очереди, чтобы определить, правда ли каждый элемент
Параметр:
① Функция (значение, индекс, самостоятельно) {}: каждый элемент будет использовать эту функцию, чтобы определить, является ли она истинностью. Когда судится, что один неверно, обход будет немедленно закончен.
Значение: элемент траверса массива
Индекс: номер элемента
Self: сам массив
Возвращаемое значение:
{Boolean}: вернуть true, только если каждый элемент правда; Если кто -то ложный, верните ложь.
Пример:
Кода -копия выглядит следующим образом:
var demoHarray = [1, 2, 3];
var rs = demoharray.every (function (значение, индекс, self) {
возвращаемое значение> 0;
});
console.log (rs); // => true
4.3 Filter (): пересечь элементы по очереди и вернуть новый массив, содержащий элементы, которые соответствуют критериям.
Параметр:
① Функция (значение, index, self) {}: каждый элемент вызывает эту функцию по очереди, возвращая новый массив, содержащий элементы, которые соответствуют критериям.
Значение: элемент траверса массива
Индекс: номер элемента
Self: сам массив
Возвращаемое значение:
{Массив} новый массив, содержащий элементы, которые соответствуют критериям
Пример:
Кода -копия выглядит следующим образом:
var demoHarray = [1, 2, 3];
var rs = demoarray.filter (function (value, index, self) {
возвращаемое значение> 0;
});
console.log (rs); // => [1, 2, 3]
4.4 foreach (): шелэверс в последовательности и выполнить указанную функцию; Нет возврата значения.
Параметр:
① Функция (значение, индекс, самостоятельно) {}: каждый элемент вызывает эту функцию по очереди
Значение: элемент траверса массива
Индекс: номер элемента
Self: сам массив
Возвращаемое значение: нет
Пример:
Кода -копия выглядит следующим образом:
var demoHarray = [1, 2, 3];
demoarray.foreach (function (значение, индекс, self) {
console.log (значение); // => Выход в последовательности: 1 2 3
});
4.5 indexof (): найти соответствующие элементы в массиве. Если соответствующий элемент не существует, верните -1. Используйте оператор «===» при поиске, поэтому вам нужно различить 1 и '1'
Параметр:
① ПРОИЗВОСТИ: Значение, которое можно найти в массиве.
②Start: позиция серийного номера, которая начинает искать, если опущен, это 0.
Возвращаемое значение:
{Int}: возвращает первое соответствие значения в массиве. Если его не существует, верните -1
Пример:
Кода -копия выглядит следующим образом:
['a', 'b', 'c']. indexof ('a'); // => 0
['a', 'b', 'c']. indexof ('a', 1); // =>-1
['a', 'b', 'c']. Indexof ('d'); // =>-1
[1, 2, 3] .indexof ('1'); // => -1: используется метод сопоставления '==='
4.6 join (): сплачивать все элементы в массиве в строку через разделитель.
Параметр:
①Sparator {String}: сепаратор между каждым элементом. Если его опущен, это разделено английским запятой ', «по умолчанию.
Возвращаемое значение:
{String}: строка, сплачиваемая каждым элементом с помощью спаратора в качестве сепаратора.
Пример:
Кода -копия выглядит следующим образом:
['a', 'b', 'c']. join (); // => 'a, b, c'
['a', 'b', 'c']. join ('-'); // => 'ab-c'
4.7. Если соответствующий элемент не существует, верните -1. Используйте оператор «===» при поиске, поэтому вам нужно различить 1 и '1'
Параметр:
① ПРОИЗВОСТИ: Значение, которое можно найти в массиве.
②start: положение номера последовательности, которое начинает поиск. Если опущены, начните искать из последнего элемента.
Возвращаемое значение:
{Int}: Начните найти первое соответствие значения в массиве справа налево. Если его не существует, верните -1
Пример:
Кода -копия выглядит следующим образом:
['a', 'b', 'c']. lastindexof ('a'); // => 0
['a', 'b', 'c']. lastindexof ('a', 1); // => 0
['a', 'b', 'c']. lastindexof ('d'); // => -1
[1, 2, 3] .lastindexof ('1'); // => -1: используется метод сопоставления '==='
4.8 MAP (): Итерация над и вычислить каждый элемент в последовательности, и вернуть рассчитанное массив элементов
Параметр:
① Функция (значение, индекс, самостоятельно) {}: Каждый элемент вызывает эту функцию в свою очередь, чтобы вернуть вычисленный элемент
Значение: элемент траверса массива
Индекс: номер элемента
Self: сам массив
Возвращаемое значение:
{Массив} новый массив, содержащий даже хорошие элементы
Пример:
Кода -копия выглядит следующим образом:
[1, 2, 3] .map (функция (значение, индекс, самостоятельно) {
возвратное значение * 2;
}); // => [2, 4, 6]
4.9 pop (): удалить и вернуть последний элемент массива
Параметры: нет
Возвращаемое значение:
{Объект} последний элемент массива; Если массив пуст, верните неопределенную
Пример:
Кода -копия выглядит следующим образом:
var demoarray = ['a', 'b', 'c'];
demoharray.pop (); // => c
demoharray.pop (); // => b
demoharray.pop (); // => a
demoharray.pop (); // => не определен
4.10 push (): добавить элементы в конце массива
Параметр:
①value1, значение2 ... Valuen: добавьте любое количество значений в конце массива
Возвращаемое значение:
{int} новая длина массива
Пример:
Кода -копия выглядит следующим образом:
var demoarray = ['a', 'b', 'c'];
demoarray.push ('d'); // => 4, demoarray: ['a', 'b', 'c', 'd']
demoarray.push ('e', 'f'); // => 6, demoarray: ['a', 'b', 'c', 'd', 'e', 'f']
console.log (демо -боран); // => ['a', 'b', 'c', 'd', 'e', 'f']
4.11 Reverse (): инвертировать порядок элементов массива.
Параметры: нет
Возвращаемое значение: нет (порядок элемента инвертирования в исходном массиве).
Пример:
Кода -копия выглядит следующим образом:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
demoharray.reverse ();
console.log (демо -боран); // => ["e", "d", "c", "b", "a"]
4.12 shift (): удалить и вернуть первый элемент массива
Параметры: нет
Возвращаемое значение:
{Объект} первый элемент массива; Если массив пуст, не определено возвращено.
Пример:
Кода -копия выглядит следующим образом:
var demoarray = ['a', 'b', 'c'];
demoarray.shift (); // => a
demoarray.shift (); // => b
demoarray.shift (); // => c
demoarray.shift (); // => не определен
4.13 SLICE (StartIndex, Endindex): возвращает часть массива.
Параметр:
① StartIndex: номер последовательности в начале; Если это отрицательное число, это означает, что расчет начинается с конца, -1 представляет последний элемент, -2 является вторым по последним, и так далее.
②endindex: последнее число последовательности элемента в конце, если не указано, конец - это конец. Перехваченный элемент не содержит элемент с номером последовательности здесь, и окончание является предыдущим элементом с номером последовательности здесь.
Возвращаемое значение:
{Array} Новый массив, содержащий все элементы от StartIndex до предыдущего элемента эндодекс.
Пример:
Кода -копия выглядит следующим образом:
[1, 2, 3, 4, 5, 6] .slice (); // => [1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6] .slice (1); // => [2, 3, 4, 5, 6]: начиная с серийного номер 1
[1, 2, 3, 4, 5, 6] .slice (0, 4); // => [1, 2, 3, 4]: перехватить элемент серийного числа 0 к серийному номеру 3 (предыдущий из серийного номера 4)
[1, 2, 3, 4, 5, 6] .slice (-2); // => [5, 6]: перехватить следующие 2 элемента
4.14 Sort (OPT_ORDERFUNC): сортируйте в соответствии с определенными правилами
Параметр:
① opt_orderfunc (v1, v2) {function}: необязательная функция правила сортировки. Если опущены, буквы элемента будут отсортированы от маленького до большого.
V1: предыдущий элемент пересекается.
V2: Следующие элементы пересекаются.
Правила сортировки:
Сравните V1 и V2 и верните число, чтобы представить правила сортировки V1 и V2:
Менее 0: V1 меньше V2, V1 опережает V2.
Равно от 0: v1 равна v2, V1 опережает V2.
Больше 0: V1 больше, чем V2, V1 стоит за V2.
Возвращаемое значение: нет (операции сортировки в исходном массиве).
Пример:
Кода -копия выглядит следующим образом:
[1, 3, 5, 2, 4, 11, 22] .sort (); // => [1, 11, 2, 22, 3, 4, 5]: все элементы преобразуются в символы, а символы 11 - до 2
[1, 3, 5, 2, 4, 11, 22]. Сорт (функция (v1, v2) {
возврат v1 - v2;
}); // => [1, 2, 3, 4, 5, 11, 22]: отсортировано от маленького до большого
[1, 3, 5, 2, 4, 11, 22]. Сорт (функция (v1, v2) {
return - (v1 - v2); // обратно, вы можете конвертировать из больших в маленький
}); // => [22, 11, 5, 4, 3, 2, 1]
4.15 Splice (): вставьте и удаляйте элементы массива
Параметр:
① Start {int}: номер начальной последовательности, чтобы начать вставлять, удалять или заменить.
②deleteCount {int}: количество удаленных элементов, начало расчета из начала.
③value1, значение2 ... Valuen {Object}: необязательный параметр, указывающий элемент, который должен быть вставлен, и начинает вставлять из начала. Если параметр ② не 0, сначала выполните операцию удаления, а затем выполните операцию вставки.
Возвращаемое значение:
{Массив} возвращает новый массив, содержащий удаленные элементы. Если параметр ② равен 0, это означает, что ни один элемент не удален и пустой массив возвращается.
Пример:
Кода -копия выглядит следующим образом:
// 1. Удалить
var demoarray = ['a', 'b', 'c', 'd', 'e'];
var demoarray2 = demoarray.splice (0, 2); // Удалить 2 элемента, начиная с 0 из номера последовательности, и вернуть массив, содержащий удаленные элементы: ['a', 'b']
console.log (demoarray2); // => ['a', 'b']
console.log (демо -боран); // => ['c', 'd', 'e']
// 2. Вставьте
var demoarray = ['a', 'b', 'c', 'd', 'e'];
var demoarray2 = demoarray.splice (0, 0, '1', '2', '3'); // ② Параметр равен 0, возвращает пустой массив
console.log (demoarray2); // => []
console.log (демо -боран); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
// 3. Сначала удалите, а затем вставьте
var demoarray = ['a', 'b', 'c', 'd', 'e'];
// Когда параметр ② не равен 0, сначала выполните операцию удаления (удалить 4 элемента с номером последовательности, начиная с 0, верните массив, содержащий удаленные элементы), а затем выполните операцию вставки
var demoarray2 = demoarray.splice (0, 4, '1', '2', '3');
console.log (demoarray2); // => ['a', 'b', 'c', 'd']
console.log (демо -боран); // => ['1', '2', '3', 'a', 'b', 'c', 'd', 'e']
4.16 ToString (): зашивайте все элементы в массиве в строку через английскую запятую '.
Параметры: нет
Возвращаемое значение:
{String} Все элементы в массиве превращаются в строку английской запятой ', и возвращаются. То же самое можно сказать о методе join () без параметров.
Пример:
Кода -копия выглядит следующим образом:
[1, 2, 3, 4, 5] .toString (); // => '1,2,3,4,5'
['a', 'b', 'c', 'd', 'e']. toString (); // => 'a, b, c, d, e'
4.17 Unshift (): вставьте элемент в голову массива
Параметр:
①value1, значение2 ... Valuen: добавьте любое количество значений в заголовок массива
Возвращаемое значение:
{int} новая длина массива
Пример:
Кода -копия выглядит следующим образом:
var demoHarray = [];
demoarray.unshift ('a'); // => demoharray: ['a']
demoarray.unshift ('b'); // => demoharray: ['b', 'a']
demoarray.unshift ('c'); // => demoharray: ['c', 'b', 'a']
demoarray.unshift ('D'); // => demoarray: ['D', 'c', 'b', 'a']
demoarray.unshift ('e'); // => demoharray: ['e', 'd', 'c', 'b', 'a']
5. Статический метод
5.1 Array.isArray (): определяет, является ли объект массивом
Параметр:
①value {Object}: любой объект
Возвращаемое значение:
{Boolean} возвращает результат суждения. Когда это правда, это означает, что объект является массивом; Когда ложь, это означает, что объект не является массивом
Пример:
Кода -копия выглядит следующим образом:
Array.isarray ([]); // => true
Array.isarray (['a', 'b', 'c']); // => true
Array.isarray ('a'); // => false
Array.isarray ('[1, 2, 3]'); // => false
6. Практическая операция
6.1 Индекс
Описание: Каждый элемент имеет позицию в массиве, представленная числом, называемого индексом. Индекс начинается с 0, то есть индекс первого элемента - 0, индекс второго элемента составляет 1, и т. Д.;
При получении индекса, который не существует в массиве, не определяется.
Пример:
Кода -копия выглядит следующим образом:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
демо -борс [0]; // => Получить первый элемент: 'a'
демо -борт [0] = 1; // Установить первый элемент на 1
console.log (демо -боран); // => demoharray: [1, 'b', 'c', 'd', 'e']
console.log (demoharray [9]); // => не определен: вернуть неопределенные, когда полученного индекса не существует
6.2 Для заявлений
ПРИМЕЧАНИЕ: вы можете пройти массив один за другим через заявление для FOR
Пример:
Кода -копия выглядит следующим образом:
var demoarray = ['a', 'b', 'c', 'd', 'e'];
for (var i = 0, length = demoarray.length; i <length; i ++) {
console.log (demoharray [i]); // => выходные элементы в массиве один за другим
}
6.3 мелкая копия
Примечание. Тип массива является эталонным типом; Когда массив А скопирован в массив B, модификация элемента внесет в массив B, а также массив A также будет изменен.
Пример:
Кода -копия выглядит следующим образом:
var demoarraya = ['a', 'b', 'c', 'd', 'e'];
var demoarrayb = demoarraya; // назначить массив A на массив B
demoarrayb [0] = 1; // Измените элементы массива B
Console.log (demoarraya); // => [1, 'b', 'c', 'd', 'e']: элементы массива также изменились
6.4 Глубокая копия
Примечание. Используйте метод concat (), чтобы вернуть новый массив; Предотвратить неглубокое копирование, выполните операции модификации элементов на массиве B, и массив A не изменится.
Пример:
Кода -копия выглядит следующим образом:
var demoarraya = ['a', 'b', 'c', 'd', 'e'];
var demoarrayb = demoarraya.concat (); // Используйте метод concat () для возврата нового массива
demoarrayb [0] = 1; // Измените элементы массива B
Console.log (demoarraya); // => ['a', 'b', 'c', 'd', 'e']: элементы массива A не изменились
console.log (demoarrayb); // => [1, 'b', 'c', 'd', 'e']: элемент массива b изменился