Одним из самых мощных строительных блоков языка JavaScript являются массивы. Массивы обычно встречаются во многих языках программирования и полезны для хранения данных.

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

  1. фильтр()
  2. для каждого()
  3. карта()
  4. находить()
  5. найтиИндекс()
  6. Сортировать()
  7. уменьшать()
  8. некоторый()
  9. каждый()

Давайте выберем каждый на примере.

1. фильтр()

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

Пример:

const myArray = [2,4,5,7,9,12,14];
const divisibleByTwo = myArray.filter((number) => number % 2 === 0);
console.log(divisibleByTwo);

2. для каждого()

Метод forEach() вызывает функцию и перебирает элементы массива. Метод forEach() также можно использовать на картах и ​​наборах. Метод forEach передает функцию обратного вызова для каждого элемента массива вместе со следующими параметрами:

  • Current Value (обязательно) — Значение текущего элемента массива
  • Index (необязательный) — порядковый номер текущего элемента
  • Array (необязательно) — Объект массива, которому принадлежит текущий элемент

Синтаксис:

array.forEach(function(currentValue, index, array))

Пример:

const numbers = [1, 2, 3, 4, 5];
// Try these on your console to see the result.
numbers.forEach(function(number) {
    console.log(number);
});
numbers.forEach((number, index) => {
    console.log('Index: ' + index + ' Value: ' + number);
});
numbers.forEach((number, index, array) => {
    console.log(array);
});

3. карта()

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

Пример:

const arr = [3, 4, 5, 6];

const modifiedArr = arr.map(function(element){
    return element *3;
});

console.log(modifiedArr); // [9, 12, 15, 18]

4. найти()

ES6 представил новый метод под названием find().

Метод find() возвращает первый элемент массива, удовлетворяющий заданному условию.

Синтаксис:

array.find(function(currentValue, index, array),thisValue);
  • функция: функция обратного вызова.
  • currentValue: содержит текущий элемент.
  • index: необязательный параметр, содержащий индекс текущего элемента.
  • массив. Это необязательный параметр, который содержит объект массива, к которому принадлежит текущий элемент.
  • thisValue: этот параметр является необязательным. Если значение должно быть передано в функцию для использования в качестве ее значения «this», в противном случае значение «undefined» будет передано в качестве ее значения «this».

Пример:

const array = [5, 12, 8, 130, 44];
const found = array.find(element => element > 10);
console.log(found); // expected output: 12

5. найтиИндекс()

Метод findIndex() возвращает индекс первого элемента массива, который удовлетворяет предоставленной тестовой функции, или возвращает -1.

Синтаксис:

array.findIndex(function(currentValue, index, array), thisValue)

Пример:

const ranks = [1, 5, 7, 8, 10, 7]; 
const index = ranks.findIndex(rank => rank === 7); console.log(index); // output :2

6. сортировать()

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

const city = ["California", "Barcelona", "Paris", "Kathmandu"];
// sort the city array in ascending order
const sortedArray = city.sort();
console.log(sortedArray); 
// Output: [ 'Barcelona', 'California', 'Kathmandu', 'Paris' ]

7. уменьшить ()

Метод reduce() выполняет функцию редуктора для элемента массива.

Метод reduce() возвращает единственное значение: накопленный результат функции.

Метод reduce() не выполняет функцию для пустых элементов массива.

Метод reduce() не изменяет исходный массив.

Синтаксис:

array.reduce(callback(accumulator, currentValue), initialValue)

Пример:

const message = ["JavaScript ", "is ", "fun."];

// function to join each string elements
function joinStrings(accumulator, currentValue) {
  return accumulator + currentValue;
}
// reduce join each element of the string
const joinedString = message.reduce(joinStrings);
console.log(joinedString);

// Output: JavaScript is fun.

8. некоторые ()

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

Синтаксис:

array.some(function(value, index, array), this)

Пример:

const array = [1, 2, 3, 4, 5];
// checks whether an element is even
const even = (element) => element % 2 === 0;
console.log(array.some(even));
// output: true

9. каждый()

Метод every() проверяет, все ли элементы массива проходят тест, реализованный предоставленной функцией. Он возвращает логическое значение.

Синтаксис:

array.every(callback(currentValue), thisArg)

Метод every() принимает:

  • обратный вызов — функция для проверки каждого элемента массива. Он принимает:
  • currentValue — Текущий элемент, передаваемый из массива.
  • thisArg (необязательно) — значение, используемое как this при выполнении обратного вызова. По умолчанию это undefined.

Пример:

function checkAdult(age) {
    return age >= 18;
}

const ageArray = [34, 23, 20, 26, 12];
const check = ageArray.every(checkAdult); // false

if (!check) {
    console.log("All members must be at least 18 years of age.")
}

// using arrow function
const check1 = ageArray.every(age => age >= 18); // false
console.log(check1);

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

Понравилось читать это? Пожалуйста, поделитесь им с другими.

Пожалуйста, нажмите кнопку 👏 ниже как можно больше раз, чтобы выразить свою поддержку!

Спасибо за чтение. Ура!!!.

Вы потрясающие!

Обмен — это забота. Так что делитесь как можно больше ;-).