Оглавление
* Итерационные методы map(), every(), filter(), forEach(), some().
* Методы сокращения reduce() и reduceRight( ).
* Манипуляционные методы concat(), slice() и splice().
* Методы переупорядочения reverse() и sort().
* push(), pop(), shift (), unshift().
* Удалить повторяющийся элемент из массива
* Заменить определенный элемент в массиве
* Сопоставить массив без использования map()
* Очистить массив
* Заполнить массив данными.
* Объединить два или более массива
* Перевернуть массив

Массив Итерационные методы -

map() — метод создает новый массив с результатами вызова функции для каждого элемента массива. Это не изменяет исходный массив, а также не выполняется для пустого массива.

let arr = [6, 9, 12, 15]; //array with different numbers
let newArr = arr.map(Math.sqrt); // calculate the square root of all the number in array
//output
Console.log(newArr); //[2.449489742783178, 3, 3.4641016151377544, 3.872983346207417]

every() —возвращает true, если метод возвращает true для всех элементов в массиве. Это не изменяет исходный массив, а также не выполняется для пустого массива.

let age = [34, 36, 40, 18]; //array of age
let age_greater_than_18 = age.every(item => item > 18); //compare for all the values and return true if all the ages are greater than 18
//output
console.log(age_greater_than_18); //false
let age = [34, 36, 40, 19]; //array of age
let age_greater_than_18 = age.every(item => item > 18);
//output
console.log(age_greater_than_18); //true

filter() — возвращает массив всех элементов, для которых метод возвращает значение true. Это не изменяет исходный массив, а также не выполняется для пустого массива.

let ages = [32, 33, 16, 40]; // array of ages
let age_18_or_over = ages.filter(age => age >= 18); //return all the ages 18 or over
//output
console.log(age_18_or_over); //[32, 33, 40]

forEach() — запускает функцию для каждого элемента в массиве и не возвращает никакого значения.

let fruits =  ["apple", "orange", "mango"]; //fruits array
fruits.forEach((fruit, index) => console.log(index, fruit));
//output
0 "apple"
1 "orange"
2 "mango"

some() —возвращает true, если функция возвращает true хотя бы для одного из элементов. Это не изменяет исходный массив, а также не выполняется для пустого массива.

let age = [34, 36, 40, 18]; //array of age
let age_greater_than_18 = age.some(item => item > 18);
//output
console.log(age_greater_than_18); //true

Методы сокращения массива

reduce() – перебирает элементы, начиная с конца массива, и возвращает единственное значение. Это не изменяет исходный массив, а также не выполняется для пустого массива.

let numbers = [1,2,3,4,5,6,7,8,9];
let sum = numbers.reduce((total, currentNumber) => total + currentNumber, 0); //in this I have provided the 2nd parameter as number which is 0
//output
console.log(sum) //45
let sum = numbers.reduce((total, currentNumber) => total + currentNumber, ''); //in this I have provided the 2nd parameter as empty string, we start from '' add concatenate each value, starting from the left
//output
"123456789"

reduceRight() —перебирает элементы, начиная с конца массива, и возвращает единственное значение. Это не изменяет исходный массив, а также не выполняется для пустого массива.

let numbers = [1,2,3,4,5,6,7,8,9];
let sum = numbers.reduceRight((total, currentNumber) => total + currentNumber, ''); //in this I have provided the 2nd parameter as empty string, we start from '' add concatenate each value, starting from the right
//output
"987654321"

Методы манипулирования

concat() — Concat позволяет объединить/объединить несколько массивов. Этот метод объединяет массивы и возвращает новый массив. Здесь исходный массив не изменяется, изменения вносятся в копию исходного массива.

let value1 = [1,2,3,4,5];
let value2 = [6,7,8,9,10];
let concatVal = value1.concat(value2);
//output
console.log(concatVal); //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

slice() —Slice похож на concat, он создает копию массива с той же последовательностью исходного массива. Если параметр отсутствует, он возвращает исходный массив. С одним аргументом он возвращает значение от этого индекса до последнего индекса массива. Его также можно использовать с двумя аргументами: начальный индекс и конечный индекс, в этом случае он вернет элементы между этим интервалом.

let numbers = [1,2,3,4,5];
console.log(numbers.slice());
console.log(numbers.slice(1));
console.log(numbers.slice(0,2));
//output
[1, 2, 3, 4, 5]
[2, 3, 4, 5]
[1, 2]

splice() —Splice почти аналогичен concat и slice, единственное отличие состоит в том, что он выполняет операцию над исходным массивом, поэтому будьте очень осторожны при его использовании, так как однажды выполненное действие не будет отменено. .

let numbers = [1,2,3,4,5];
console.log(numbers.splice(0,1,10)); //it will replace the first value with 10
//output 
[10, 2, 3, 4, 5]

Методы переупорядочения массива

reverse() — переворачивает порядок элементов и создает дубликат исходного массива. Это не повлияет на исходный массив.

let numbers = [1,2,3,4,5];
console.log(numbers.reverse());
//output
[5, 4, 3, 2, 1]

sort() — укорачивает элементы массива, выполняя сравнение строк. По умолчанию он преобразует элементы в строку, а затем сравнивает.
Давайте разберемся с этим на примере ниже.

let numbers = [1,2,3,4,10];
console.log(numbers.sort())
//output
[1, 10, 2, 3, 4]

Если вы проверите приведенный выше пример, вывод будет в правильном формате, верно?
Не запутайтесь, функция sort() сначала преобразует все элементы в строку, а затем сравнит, поэтому в этом случае «10» больше, чем 2 .
Есть решение для сортировки элементов без предварительного преобразования в строку, давайте проверим это

let numbers = [1,2,3,4,10];
console.log(numbers.sort((val1, val2) => val1 - val2))
//output 
[1, 2, 3, 4, 10]

В приведенном выше примере функция принимает дополнительные параметры, которые заменяют поведение сравнения строк по умолчанию.

push() —добавляет элемент в конец массива и возвращает новую длину массива. Он внес изменения в исходный массив.

let numbers = [1,2,3,4,10];
console.log(numbers.push(11));
console.log(numbers);
//output
6
[1, 2, 3, 4, 10, 11]

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

let numbers = [1,2,3,4,10];
console.log(numbers.pop());
console.log(numbers);
//output
10
[1, 2, 3, 4]

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

let numbers = [1,2,3,4,10];
console.log(numbers.shift());
console.log(numbers);
//output
1
[2, 3, 4, 10]

unsift() —добавляет новый элемент в начало массива и возвращает новую длину массива.

let numbers = [1,2,3,4,10];
console.log(numbers.unshift(0));
console.log(numbers);
//output
6
[0, 1, 2, 3, 4, 10]

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

Как извлечь уникальные значения из массива Javascript, давайте попробуем найти решение на примере ниже.

let fruits = ["banana", "mango", "grapes", "orange", "mango"];
method 1 - console.log(Array.from(new Set(fruits)));
method 2 - console.log([...new Set(fruits)]);
Output 1 - ["banana", "mango", "grapes", "orange"]
Output 2 - ["banana", "mango", "grapes", "orange"]

В приведенном выше примере я использую new Set() для извлечения уникальных значений, также я использую 2 разных способа сделать одно и то же.

Заменить определенный элемент в массиве

Иногда нам нужно удалить конкретное значение из массива во время кодирования. Splice() упростил нам задачу. Мы уже обсуждали выше синтаксис и функциональность функции splice.

Сопоставьте массив без использования map()

Как мы уже обсуждали использование функции map, синтаксис и где мы это используем, теперь мы собираемся проверить, как отображать и массивировать без использования map().

let subjects = [
    { name: 'Science', class: 1 },
    { name: 'Maths', class: 2 },
    { name: 'English', class: 3 },
]
console.log(Array.from(subjects, ({name}) => name));
//output 
["Science", "Maths", "English"]

Очистить массив

Очистить массив очень просто, нам просто нужно установить длину массива равной 0. давайте попробуем

let fruits = ["banana", "mango", "grapes", "orange", "mango"];
fruits.length = 0;
console.log(fruits)
//output 
[]

Заполнить массив данными

Функция fill () появляется, когда нам нужно заполнить некоторые данные или нам нужно заполнить те же значения в массиве.

var dataArr = new Array(10).fill("1");
console.log(dataArr)
//output
["1", "1", "1", "1", "1", "1", "1", "1", "1", "1"]

Объединить два или более массива

Мы можем объединить два или более массива, используя функцию concat(). Мы уже обсуждали функциональность и синтаксис concate() выше, пожалуйста, обратитесь к этому.

Перевернуть массив

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

let fruits = ["banana", "mango", "grapes", "orange", "mango"];
console.log(fruits.reverse());
//output
["mango", "orange", "grapes", "mango", "banana"]

В этой статье я рассмотрел большинство функций работы с массивами и буду постоянно добавлять новые. Не стесняйтесь комментировать, если я пропущу какую-либо функцию, я добавлю это.

Удачного кодирования!!