Типы массива в JavaScript сильно отличаются от типов на других языках. Каждый элемент в JavaScript может содержать любой тип данных. Кроме того, размер массивов JavaScript может быть отрегулирован динамически и может автоматически расти, поскольку данные добавляются для размещения новых данных .
Есть две основные формы создания массива.
1. Строительный конструктор
VAR CITION = new Array ();
Если вы знаете количество элементов, которые будут сохранены заранее, вы также можете передать это число конструктору, который автоматически станет значением атрибута длины.
VAR CITION = новый массив (3);
Вы также можете передать элементы, которые должны быть включены в массив к конструктору массива.
VARITS = новый массив («Шанхай», «Пекин», «Шэньчжэнь»);
Новый оператор может быть опущен при создании массива:
VAR CITION = Array (3); // Создать массив, содержащий 3 элемента
2. литеральное представление массива
Литеральная нотация массива представлена парой квадратных кронштейнов, содержащих массивы, разделенные запятыми, следующим образом:
VARITION = ["Шанхай", "Пекин", "Шэньчжэнь"]; VAR CITION = []; // Создать пустую строку
При чтении и настройке значения массива используйте квадратные кронштейны и предоставьте числовой индекс на основе 0 (на основе 0 считается от 0, первый термин - 0, второй термин - 1 и т. Д.), Как показано ниже:
VARITIONS = ["Shanghai", "Пекин", "Шэньчжэнь"]; оповещение (города [0]); // "Шанхай" города [1] = "Hongkong"; // Измените второй пункт «Пекин» в «Гонконг» города [3] = "Тайвань" // Добавить новый элемент
Количество элементов в массиве сохраняется в свойстве длины, и это не только чтение . Поэтому, установив свойство длины, вы можете удалить элементы с конца массива или добавить новые элементы в массив.
VARITION = ["Шанхай", "Пекин", "Шэньчжэнь"]; Cities.length = 2; Alert (Cities [2]); // неопределенный
Используя это свойство длины, вы можете добавить новые элементы в конце массива:
VARITIONS = ["Shanghai", "Пекин", "Шэньчжэнь"]; Cities [Cities.length] = "Hongkong";
1. Обнаружение массива
Ecmascript5 добавил метод Array.isarray (), который должен определить, является ли значение массивом, независимо от того, какую глобальную среду выполнения он создается. Использование выглядит следующим образом:
if (array.isarray (value)) {// выполнить некоторые операции на массиве}2. Метод преобразования
Все объекты имеют методы tolocalestring (), toString () и valueOf (). Метод ToString () массива называется ToString () для возврата, разделенной запятой строкой, сплайдированной из строковой формы каждого значения в массиве. Например:
VARITIONS = ["Shanghai", "Пекин", "Шэньчжэнь"]; оповещение (Cities.tostring ()); // Шанхай, Пекин, Шэньчженерт (Cities.valueof ()); // Шанхай, Пекин, Шэньчженерт (города); // Шанхай, Пекин, Шэньчженерт (города); // Шанхай, Пекин, Шэньчжэнь
ПРИМЕЧАНИЕ. Поскольку Alert () необходимо получать параметры строк, он вызовет метод ToString () в фоновом режиме, поэтому он получит тот же результат вызова метода ToString () напрямую.
Кроме того, метод tolocalestring () часто возвращает то же значение, что и toString () и valueOf (). Разница состоит в том, что для получения значения каждого элемента используется метод tolocalestring () каждого элемента , а не метод ToString (). Например:
var p1 = {tolocalestring: function () {return "p1 tolocalestring"; }, toString: function () {return "p1 toString"; }}; var p2 = {tolocalestring: function () {return "p2 tolocalestring"; }, toString: function () {return "p2 toString"; }}; var p = [p1, p2]; предупреждение (P); оповещение (p.toString ()); оповещение (p.tolocalestring ());Результат показывает, что метод ToString вызывается в первой и второй строках, а метод толокалигрирования вызывается в третьей строке.
Методы Tolocalestring (), toString () и valueOf (), унаследованные массивом, будут возвращать элементы массива в виде разделившихся запятых строк по умолчанию. С помощью метода join () вы можете использовать разные символы для разделения строки, а затем вернуть строку, содержащую все элементы массива.
VARITY = ["Shanghai", "Пекин", "Шэньчжэнь"]; оповещение (города); // Шанхай, Пекин, Шэньчженерт (Cities.join (",")); // Шанхай, Пекин, Шэньчженерт (Cities.join ("|")); // Shanghai | Пекин | Shenzhen3. Степенный метод
Стек является последней в первой части (LIFO) структуры данных, и вставка и удаление элементов данных в стеке могут возникнуть только в верхней части стека. Массивы JavaScript предоставляют методы push () и pop () для реализации поведения, подобного стеку.
push () метод
Вы можете взять любое количество параметров, добавить их к концу массива и изменить длину массива.
var params = new Array (); var count = params.push ("a", "b"); alert (params); // a, balert (count); // 2Из приведенного выше примера мы видим, что количество вставленных терминов, возвращаемых методом push ().
Метод POP ()
Снимите последний элемент с конца массива, уменьшите длину массива и верните удаленный элемент.
var params = new Array (); var count = params.push ("a", "b", "c"); var item = params.pop (); alert (item); // calendart (params.length); // 24. Метод очереди
Правило доступа к структуре данных очереди сначала в первую очередь (FIFO), то есть элементы добавляются с конца очереди, а элементы удаляются с передней части очереди.
метод shift ()
Метод Shift () представлен в JavaScript, который удаляет первый элемент в массиве и возвращает элемент и в то же время изменяет атрибут длины массива.
var params = new Array (); var count = params.push ("a", "b", "c"); var item = params.shift (); // Получите оповещение первого элемента (ITEM); // aalert (params.length); // 2метод unshift ()
JavaScript также предоставляет метод Unshift (), который может добавить любой элемент к передней части массива и вернуть длину нового массива.
var params = new Array (); var count1 = params.unshift ("a"); alert (count1); // 1alert (params); // avar count2 = params.unshift ("b"); оповещение (count2); // 2alert (params); // b, avar count3 = params.unshift ("c", "d"); alert (params); // c, d, b, аБыло отмечено, что если есть несколько терминов в Unshift () за раз, он вставит эти термины в массив по порядку, то есть первый параметр вставляется в фронт. Как и в приведенном выше примере, «A» вставлен впервые, «B» вставлен во второй раз, и есть несколько терминов, когда в третий раз, но порядок C находится впереди и D сзади.
5. Метод повторного порядка
В массиве есть два метода, непосредственно используемых для повторного порядка.
Реверс () Метод
Метод обратного () переворачивает порядок элементов массива.
var values = [1,2,3,4,5]; values.reverse (); alert (values); // 5,4,3,2,1
Сорт () Метод
По умолчанию метод SORT () размещает массивы в порядке возрастания. Для достижения сортировки метод sort () вызывает метод преобразования ToString () каждого элемента массива, а затем сравнивает полученную строку. Следовательно, метод сортировки () сравнивает строки .
var values = [3,5,53,2,34]; values.sort (); alert (values); // 2,3,34,5,53
Тем не менее, мы можем сказать, что эта сортировка в основном бессмысленна, и нам нужно сортировать числовые значения. Метод SORT () может получить функцию сравнения в качестве аргумента для указания правил сортировки.
Функция сравнения получает два параметра, возвращает отрицательное число, если первый параметр должен быть перед вторым параметром, возвращает 0, если два параметра равны, и возвращает положительное число, если первый параметр является после второго параметра.
Функция сравнения (value1, value2) {if (value1 <value2) {return -1; } else if (value1> value2) {return 1; } else {return 0; }} var values = [3,5,53,2,34]; values.sort (compare); alert (values); // 2,3,4,34,536. Метод работы
метод concat ()
Новый массив может быть создан на основе всех элементов в текущем массиве. Этот метод создает копию текущего массива, добавляет параметры в конце копии и возвращает недавно построенный массив. Если один или несколько массивов передаются в метод concat (), каждый элемент в массиве добавляется в массив.
var arrays = ["a", "b", "c"]; var arrays2 = arrays.concat ("d", ["e", "fe"]); alert (массивы); // a, b, calert (arrays2); // a, b, c, d, e, fметод slice ()
Создает новый массив на основе одного или нескольких элементов в текущем массиве. Метод slice () может получать один или два параметра, то есть начальные и конечные позиции элемента, который будет возвращен . Когда есть только один параметр, он возвращает все элементы от начального элемента до конца массива. Когда есть два параметра, он возвращает элемент между начальной позицией и конечной позицией (исключая конечный элемент). Метод slice () не повлияет на исходный массив.
VARITIONS = ["Пекин", "Шанхай", "Шэньчжэнь", "Гуанчжоу"]; VAR CITIES2 = CITION.SLICE (1); VAR CITIES3 = CITIS.SLICE (1,3); ALERT (Cities2); // Шанхай, Шэньчжэнь, Гуанчжоу Береги (города3); // Шанхай, Шэньчжэнь
Метод сплайса ()
Метод Splice () в основном используется для вставки элементов в середину массива, и есть 3 способа его использовать:
• Удалить может удалить любое количество элементов, указать 2 параметра: первый элемент, который будет удален, и количество удаленных элементов, таких как: сплайс (1,3), удалит 2 -й, 3 -й и 4 -й элементы в массиве
VARITIONS = ["Пекин", "Шанхай", "Шэньчжэнь", "Гуанчжоу"]; Cities.splice (1,3); оповещение (города); // Пекин
• Вставьте. Вы можете вставить любое количество элементов в указанную позицию. Укажите 3 параметра: начальная позиция, 0 (количество элементов, которые будут удалены), и элемент будет вставлен
VARITIONS = ["Пекин", "Шанхай", "Шэньчжэнь", "Гуанчжоу"]; Cities.splice (1,0, "Гонконг"); оповещение (города); // Пекин, Гонконг, Шанхай, Шэньчжэнь, Гуанчжоу
• Замените элементы, которые могут заменить указанную позицию. Укажите 3 параметры: начальная позиция, элемент, который будет удален, и любой элемент, который будет вставлен.
VARITION = ["Пекин", "Шанхай", "Шэньчжэнь", "Гуанчжоу"]; Города. // Пекин, Гонконг, Гуанчжоу
7. Метод позиции
В JavaScript есть два позиционных метода: Indexof () Метод и метод lastindexof (). Оба метода получают два параметра: элемент, который можно найти, и (необязательный) индекс, указывающий местоположение отправной точки поиска.
Метод Indexof () означает оглядываться назад с начала массива, в то время как LastinDexof () начинается с конца массива. Все они возвращают позицию предмета, найденного в массиве, и -1, если не найдены. Конгруэнтность используется при сравнении первого параметра с каждым элементом в массиве.
var nums = [1,2,3,4,5,6]; оповещение (nums.Indexof (3)); // 2alert (nums.lastIndexof (5)); // 4alert (nums.Indexof (3,1)); // 2alert (nums.lastindexof (4,4)); // 3
8. Метод итерации
JavaScript предоставляет 5 итерационных методов для массивов. Каждый метод получает два параметра: функция, которая будет выполнена на каждом элементе, и (необязательно) объект Scope, который запускает функцию - влияет на значение этого. Параметры, которые необходимо пройти в: значение элемента массива, положение элемента в массиве и сам объект массива.
• Каждый (): запускает заданную функцию на каждом элементе в массиве, и если количество рядов возвращает истину для каждого элемента, он возвращает true.
• Filter (): запустите заданную функцию на каждом элементе в массиве и верните массив, состоящий из элементов, которые вернут True.
• foreach (): запускает данную функцию на каждом элементе в массиве, не возвращая значение
• MAP (): функция, состоящая из запуска заданной функции на каждом элементе в массиве, возврата результата каждого вызова функции.
• Некоторые (): запускает данную функцию на каждом элементе в массиве. Если какой -либо элемент возвращает true, функция возвращает true.
Ни один из вышеперечисленных методов не будет изменять значения, содержащиеся в массиве.
9. Метод слияния
В JavaScript существует два метода слияния массивов: REATE () и REDUCERIGHT (). Оба метода отражают все элементы массива, а затем создают окончательное возвращенное значение. Где метод REMUT () начинается с первого элемента массива, а REDUCERIGE () начинается с последнего элемента массива.
Они оба могут получать два параметра: функция, вызванная каждому элементу, и (необязательно) в качестве начального значения базы слияния. Функция, передаваемая для уменьшения () и Reduceright (), получает 4 параметра: предыдущее значение, текущее значение, индекс элемента и объект массива. Любое значение, возвращаемое этой функцией, будет автоматически передано следующему элементу в качестве первого параметра. Первая итерация происходит на втором члене массива, поэтому первый параметр является первым членом массива, а второй параметр - второй член массива.
var values = [1,2,3,4,5]; var sum = values.reduce (function (prev, cur, index, array) {return prev+cur;}); alert (sum); // 15В первый раз, когда функция обратного вызова выполняется, PREV IS 1, а CUR - 2. Второй раз, PREV - 3 (1+2), CUR - 3 (значение третьего члена массива), зная, что доступ к каждому элементу.
REDUCERIGE () имеет аналогичные функции, но направление противоположное.
Вышеупомянутый комплексный анализ JavaScript: тип массива - это весь контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.