Ранее мы узнали о циклах и различных видах циклов. В этом блоге мы узнаем о массивах.
Что такое массив и зачем он нам нужен?
Прежде чем мы перейдем к техническим аспектам, важно понять массивы на более простом уровне. Предположим, вы хотите хранить 100 четных чисел, но хотите иметь доступ к каждому из них по отдельности. Самый медленный подход к этому — создать 100 переменных, таких как even1,even2,even3,even4 и т. д. Но с массивами мы можем хранить все 100 значения в одной переменной, и к ним можно получить доступ по отдельности, используя их индекс.
Массив JavaScript — это одна переменная, которая используется для хранения различных элементов. Он часто используется, когда мы хотим сохранить упорядоченный список элементов и получить к ним доступ с помощью одной переменной. В отличие от большинства языков, где массив — это ссылка на несколько переменных, в JavaScript массив — это одна переменная, в которой хранится несколько элементов.
Индекс в основном похож на адрес/местоположение элемента в массиве, который выглядит как 0,1,2,3,4, где 0 — первый элемент, а 4 — пятый элемент. Вот пример:
let even = [2,4,6,8,10,12,14,16,18,20] //stores 10 even numbers //indexes 0 1 2 3 4 5 6 7 8 9 console.log(even[5]) //prints the number at the fifth index i.e. 12
Свойства массивов в javascript:
- В javascript массивы не являются примитивным типом данных, а вместо этого являются типом объекта . Мы узнаем больше об объектах в моем следующем блоге.
- Массивы JavaScript могут изменять размер и могут содержать смесь различных типов данных.
- Массивы JavaScript не являются ассоциативными массивами, поэтому к элементам массива нельзя получить доступ, используя произвольные строки в качестве индексов, но к ним необходимо обращаться, используя неотрицательные целые числа (или их соответствующую строковую форму) в качестве индексов.
- При копировании массива создается неглубокая копия. Когда мы копируем массив в массив, а затем меняем значение в этом массиве, исходный массив также будет изменен.
- Метод .length даст нам длину любого массива. Длина массива всегда на 1 больше, чем последний индекс.
Как вывести все элементы массива?
Допустим, у нас есть массив первых 10 натуральных чисел, и мы хотим напечатать их все. Самым медленным подходом было бы напечатать каждый элемент с 10 операторами console.log следующим образом:
console.log(arr[0]) console.log(arr[1]) console.log(arr[2]) console.log(arr[3]) console.log(arr[4]) console.log(arr[5]) //.... this continues till arr[9]
Но мы также можем использовать цикл, чтобы сделать это проще. Мы должны создать цикл, который идет от 0 до последнего индекса массива (длина-1), и мы будем использовать эту переменную цикла в качестве индекса массива. Возьмем тот же пример:
let natural = [1,2,3,4,5,6,7,8,9,10]; for(i=0; i<natural.length; i++){ //i is the index of the array console.log(natural[i]) //prints each element at i index. i value is from 0 to 9 } /* Output: 1 2 3 4 5 6 7 8 9 10 */
Методы массива
Одной из особенностей массивов в javascript является то, что существует несколько предопределенных методов, которые делают все виды операций с массивами очень простыми. Вот некоторые из методов массива, которые должен знать каждый:
.push()
Этот метод используется для добавления одного или нескольких новых элементов в конец массива. Пример:
let arr = [1,2,3,4]; arr.push(5,6); console.log(arr); //prints [1,2,3,4,5,6]
.pop()
Этот метод используется для удаления элемента по последнему индексу из массива. Пример:
let arr = [1,2,3,4]; arr.pop(); console.log(arr); //prints [1,2,3]
.shift()
Этот метод используется для удаления одного элемента из начала массива по нулевому индексу. Пример:
let arr = [1,2,3,4]; arr.shift(); console.log(arr); //prints [2,3,4]
.unshift()
Этот метод используется для добавления одного или нескольких элементов в начало массива по нулевому индексу. Пример:
let arr = [1,2,3,4]; arr.unshift(0,0); console.log(arr); //prints [0,0,1,2,3,4]
arr.map()
Этот метод используется для создания нового массива путем вызова функции для каждого из элементов. Функция имеет три параметра: элемент, индекс и массив. Например:
let arr = [1,2,3,4]; let squares = arr.map(item => item*item); console.log(squares); //prints [1,4,9,16]
arr.splice()
Этот метод используется для удаления определенной части массива. Для этого требуются два параметра, которые являются отправной точкой и до того места, где мы хотим его разрезать. Он изменяет исходный массив
let arr = [1,2,3,4,5,6,7]; arr.splice(3,2) //removes two elements from the 3rd index console.log(arr) //prints [1,2,3,6,7] console.log(arr.splice(2)) //prints [3,6,7] console.log(arr) //prints 1,2
arr.slice()
Похож на метод сращивания, но используется по-другому. Принимает два параметра: начальный индекс и конечный индекс, до которого вы хотите разрезать. Если мы используем arr.splice(0,3), он вернет только элементы с индексами 0, 1 и 2. Он не изменяет исходный массив.
let arr = [1,2,3,4,5,6,7]; console.log(arr.slice(0,4)) //returns 1,2,3,4 console.log(arr.slice(-3) //returns 5,6,7 console.log(arr.slice(3)) //returns 4,5,6,7
Методы массива важны, и вы должны прочитать их все на https://javascript.info/array-methods. В следующем блоге мы поговорим об объектах.
Спасибо за чтение.