Введение
В этом практическом занятии мы изучим программирование на JavaScript и научимся совместно использовать методы Array.prototype.reduce(), Array.prototype.filter() и Array.prototype.map() для создания функции, которая фильтрует массив объектов по условию и также исключает неуказанные ключи. Это практическое занятие поможет нам лучше понять функциональное программирование в JavaScript и как эффективно манипулировать массивами объектов.
Фильтрация объектов по условию и ключам
Для фильтрации массива объектов по условию и при этом исключения неуказанных ключей используйте функцию reducedFilter().
Следуйте шагам ниже:
Используйте
Array.prototype.filter()для фильтрации массива по предикатуfn, чтобы получить объекты, для которых условие вернуло истинное значение.Используйте
Array.prototype.map()для отфильтрованного массива, чтобы вернуть новый объект.Используйте
Array.prototype.reduce()для исключения ключей, которые не были переданы в качестве аргументаkeys.
const reducedFilter = (data, keys, fn) =>
data.filter(fn).map((el) =>
keys.reduce((acc, key) => {
acc[key] = el[key];
return acc;
}, {})
);
Вот пример использования функции reducedFilter():
const data = [
{
id: 1,
name: "john",
age: 24
},
{
id: 2,
name: "mike",
age: 50
}
];
reducedFilter(data, ["id", "name"], (item) => item.age > 24);
// Output: [{ id: 2, name:'mike'}]
Для начала практики программирования откройте Терминал/SSH и введите node.
Резюме
Поздравляем! Вы завершили практическое занятие по фильтрации совпадающих и неуказанных значений. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.