Массивы (Arrays) — лаконичным способом хранения списка элементов под одним именем.
Массивы используются для хранения коллекций значений в последовательном порядке. Вы можете назначать массивы переменным так же, как вы можете назначать строки или любой другой тип данных. Массивы полезны для хранения коллекций элементов, где важен порядок.
Массивы начинают считать с 0.
В приведенном выше примере "Steve" является первым элементом в массиве имен. Когда мы вызываем names[0], мы просим вернуть элемент в позиции 0 массива. Вот почему names[0] возвращает "Steve", а names[2] возвращает "Sam".
Самый простой способ - инициализировать массив в определении переменной.
Например:
Массивы также могут быть созданы с помощью объекта
Вы просто предоставляете имя массива с индексом, который хотите вернуть:
Обратите внимание, что если мы опускаем третий аргумент,
Вы можете скачать готовую шпаргалку на моей странице на GitHub -> /arrays-js-es6-abc, или добавить страницу в закладки.
Больше материалов по JavaScript ES6 в этом блоге.
Массивы используются для хранения коллекций значений в последовательном порядке. Вы можете назначать массивы переменным так же, как вы можете назначать строки или любой другой тип данных. Массивы полезны для хранения коллекций элементов, где важен порядок.
let names = ["Steve", "Bob", "Sam", "Erick"] names[0] //returns "Steve" names[2] //returns "Sam"
Массивы начинают считать с 0.
В приведенном выше примере "Steve" является первым элементом в массиве имен. Когда мы вызываем names[0], мы просим вернуть элемент в позиции 0 массива. Вот почему names[0] возвращает "Steve", а names[2] возвращает "Sam".
Определение массивов - Defining Arrays.
Есть несколько способов «создать» или инициализировать массивы в JavaScript.Самый простой способ - инициализировать массив в определении переменной.
Например:
let scores = [87,43,88,99]
Массивы также могут быть созданы с помощью объекта
Array
:
let scores = new Array(87, 43, 88, 99)
Доступ к элементам массива - Accessing Array Elements
Доступ к элементам в массиве прост.Вы просто предоставляете имя массива с индексом, который хотите вернуть:
let scores = [87,43,88,99] scores[0] // returns 87 scores[1] // returns 43 scores[2] // returns 88
Перебор массива циклом.
Чтобы перебрать каждый элемент массива, вы можете использовать встроенный методforEach ()
.
let scores = [87,43,88,99] scores.forEach((x) => { console.log(x) }) //logs 87, 43, 88, 99
Другие методы массива.
МетодforEach ()
является одним из многих поддерживаемых методов для массивов JavaScript. Ниже приведен список других методов с краткими примерами для каждого:
concat()
Методconcat ()
объединяет массивы.
let scores = [87, 43, 88, 99] let moreScores = [100,33,78,44] scores.concat(moreScores) //returns [87, 43, 88, 99, 100, 33, 78, 44]
every()
Методevery ()
возвращает true
, если каждый элемент проходит заданное условие:
let scores = [87, 43, 88, 99] scores.every((x) => { return x > 10 }) //returns true since every element is greater than 10
filter()
Методfilter ()
возвращает новый массив с каждым элементом, который пройдет через функцию фильтра.
let scores = [87, 43, 88, 99] scores.filter((x) => { return x > 80 }) //returns [87, 88, 99]
indexOf()
Этот метод возвращает первый элемент массива, который соответствует заданному значению. Если нет элементов соответствующих значению, возвращается-1
:
let scores = [87, 43, 88, 99] scores.indexOf(88) //returns 2 scores.indexOf(103) // returns -1
join()
Методjoin ()
объединяет все элементы массива в строку.
let scores = [87, 43, 88, 99] scores.join() //returns "87,43,88,99" scores.join("|") //returns "87|43|88|99"
lastIndexOf()
АналогиченindexOf
, но возвращает индекс последнего элемента, который соответствует предоставленному значению. Возвращает -1
, если совпадений нет:
let scores = [87, 43, 88, 99, 88] scores.lastIndexOf(88) //returns 4 scores.lastIndexOf(11) //returns -1
map()
Функцияmap ()
применяет блок кода или функцию к каждому элементу в массиве и возвращает новый массив с результатами каждой операции.
let scores = [87, 43, 88, 99] scores.map((x) => {return x + 10}) //returns [97, 53, 98, 109]
pop()
Методpop ()
удаляет последний элемент в массиве и возвращает этот элемент.
let scores = [87, 43, 88, 99] scores.pop() //returns 99 //scores now equals [87, 43, 88]
push()
Методpush ()
добавляет новый элемент в массив и возвращает новую длину массива.
let scores = [87, 43, 88, 99] scores.push(44) //returns 5 //scores now equals [87, 43, 88, 99, 44]
reduce()
Методreduce ()
возвращает агрегированный результат функции, примененной к массиву
let count = [1,2,3,4] count.reduce((a,b) => {return a + b}) //returns 10
reduceRight()
То же, что иreduce ()
, но работает справа налево:
let count = [1,2,3,4] count.reduceRight((a,b) => {return a - b}) //returns -2
reverse()
Повернет в другую сторону элементы в массиве:let scores = [87, 43, 88, 99] scores.reverse() //returns [99, 88, 43, 87]
shift()
Методshift ()
похож на pop ()
, но действует на первый элемент массива, а не на последний.
let scores = [87, 43, 88, 99] scores.shift() //returns 87 //scores now equals [43, 88, 99]
slice()
Возвращает подмассив на основе начальной и конечной позиции:let scores = [87, 43, 88 99] scores.slice(1,3) //returns [43,88]
some()
Методsome ()
возвращает true
, если хотя бы один элемент удовлетворяет данному условию
let scores = [87, 43, 88, 99] scores.some((x) => {return x < 50}) //returns true scores.some((x) => {return x < 40}) //returns false
sort()
Сортирует элементы массива:let scores = [87, 43, 88, 99] scores.sort() //returns [43, 87, 88, 99] scores.sort((a,b) => {return b - a}) // returns [99, 88, 87, 43]
splice()
Методsplice ()
изменяет содержимое массива. Этот метод принимает три аргумента: (начальный индекс, количество удаляемых элементов, замещающие элементы)
let scores = [87, 43, 88, 99] scores.splice(2, 0, 95) //returns [] //scores now equals [87, 43, 95, 88, 99] let counts = [1, 2, 3, 4, 5] counts.splice(1, 3) //returns [2,3,4] //scores now equals [1,5]
Обратите внимание, что если мы опускаем третий аргумент,
splice ()
просто удаляет элементы из массива. Также важно признать, что splice ()
возвращает удаленные элементы и изменяет существующий массив.
toString()
Просто преобразует массив в строку.let scores = [87, 43, 95, 88, 99] scores.toString() //returns '87,43,95,88,99'
unshift()
Добавляет элементы в начало массива и возвращает новую длину массива.let scores = [87, 43, 95, 88, 99] scores.unshift(50,70) //returns 7 //scores now equals [50, 70, 87, 43, 95, 88, 99]
find()
Методfind ()
возвращает первый элемент, который соответствует указанному условию.
let scores = [87, 43, 95, 88, 99] scores.find((x) => {return x > 90}) //returns 95
findIndex()
То же, чтоfind ()
, но возвращает первый индекс вместо первого значения, которое удовлетворяет условию.
let scores = [87, 43, 95, 88, 99] scores.findIndex((x) => {return x > 90}) //returns 2
entries()
Функцияentries()
возвращает итератор, который можно использовать для циклического перебора ключей и значений массива.
let scores = [87, 43, 95, 88, 99] var entries = scores.entries() console.log(entries.next().value) //returns [0, 87] console.log(entries.next().value) //returns [1, 43]
from()
Метод from () создает новый массив из объекта, похожего на массив.let nameArray = Array.from('Sam') console.log(nameArray) //logs ['S', 'a', 'm']
keys()
Методkeys ()
возвращает новый объект итератора, который содержит ключи для каждого индекса в массиве.
let scores = [87, 43, 95, 88, 99] let iterator = scores.keys(); console.log(iterator.next()) //logs {value: 0, done: false}
Заключение:
Массивы - это мощные типы данных в JavaScript. Используйте массивы, если вы хотите отслеживать коллекцию значений и порядок их расположения.Вы можете скачать готовую шпаргалку на моей странице на GitHub -> /arrays-js-es6-abc, или добавить страницу в закладки.
Комментариев нет:
Отправить комментарий