как фильтровать свойства объекта по ключам в es6
Мы можем фильтровать свойства объекта по ключам, используя деструктуризацию и методы объекта. Для этого мы можем воспользоваться комбинацией методов Object.keys()
, filter()
и спред-оператор.
Вот пример кода, который демонстрирует этот подход:
const obj = {
name: 'Alice',
age: 30,
city: 'New York',
country: 'USA'
};
const keysToKeep = ['name', 'age'];
const filteredObj = Object.keys(obj)
.filter(key => keysToKeep.includes(key))
.reduce((acc, key) => ({ ...acc, [key]: obj[key] }), {});
console.log(filteredObj); // => { name: 'Alice', age: 30 }
Сначала мы получаем массив ключей объекта с помощью Object.keys(obj)
. Затем фильтруем ключи, оставляя только те, которые присутствуют в массиве keysToKeep
. После этого собираем новый объект, используя ключи из предыдущего шага и значения из оригинального объекта.
После выполнения этого кода переменная filteredObj
будет содержать объект только с ключами 'name' и 'age'. Мы можем легко адаптировать этот подход для фильтрации по другим критериям или функциям проверки.
Важно помнить, что методы filter()
и reduce()
возвращают новые объекты или массивы, не изменяя оригинальный объект.