Объединение методов массива в JavaScript
Опубликовано: 9 Декабря, 2021
В JavaScript есть несколько методов, которые могут перебирать массив. У нас уже есть знания об этих методах массива.
- Метод фильтрации (filter ())
- Метод карты (map ())
- Метод уменьшения (reduce ())
- Метод поиска (find ())
- Метод сортировки (sort ())
Мы узнаем, как связать все методы массива вместе.
Пример:
const products = [ // Here we create an object and each // object has a name and a price { name: 'dress' , price: 600 }, { name: 'cream' , price: 60 }, { name: 'book' , price: 200 }, { name: 'bottle' , price: 50 }, { name: 'bedsheet' , price: 350 } ]; |
Мы хотим сделать две вещи.
- Отфильтруйте те элементы, цена которых больше 100, с помощью метода filter () .
- Сопоставьте эти элементы с новым массивом с новой продажной ценой (скидка 50%).
Пример:
Выход:
Более быстрый способ добиться этого - использовать цепочку методов массива. Все методы работы с массивами работают с массивами и возвращают массивы. Таким образом, мы можем легко связать эти методы.
Пример:
<script> const products = [ { name: 'dress' , price: 600 }, { name: 'cream' , price: 60 }, { name: 'book' , price: 200 }, { name: 'bottle' , price: 50 }, { name: 'bedsheet' , price: 350 } ]; // Writing the different array methods // on different lines increases the // readability const sale = products .filter(product => product.price > 100) .map(product => `the ${product.name} is ${product.price / 2} rupees`); document.write(sale); </script> |
Выход:
Заключение:
- Результат в обоих случаях остается одинаковым. Второй метод называется объединением методов массива, что делает код немного более лаконичным.
- Поскольку метод фильтра возвращает массив, мы можем связать его с методом карты, который работает с массивом, и наоборот.
- Этот процесс можно применить ко всем методам массива, что делает код кратким.
- Этот метод применим не только для массивов, но мы также можем использовать их для строк, если методы возвращаются и работают со строками. Будет применяться тот же принцип.