выбор указанных свойств из объекта JS
Нужно создать функцию, которая будет выбирать указанные свойства из объекта пример работы ф-и:
{ name: 12, age: 34, city: 'NY' }, ['name', 'city'] => {name: 12, city: 'NY' }
Ответы (1 шт):
Автор решения: DiD
→ Ссылка
Способ 1.
const fx = (obj, fields) =>
fields.reduce( (res, field) =>
(res[field] = obj[field], res),
{}
),
res = fx( {name: 12, age: 34, city: 'NY'},
['name', 'city']);
console.log(res); // => {name: 12, city: 'NY'}
Способ 2.
const fx = (obj, fields) =>
Object.keys(obj)
.filter(key => !fields.includes(key))
.reduce((res, field) =>
(delete res[field], res),
{...obj}
),
res = fx( {name: 12, age: 34, city: 'NY'},
['name', 'city']);
console.log(res); // => {name: 12, city: 'NY'}
Способ 3.
const fx = (obj, fields) =>
Object.fromEntries(
Object.entries(obj)
.filter(([key]) => fields.includes(key))
),
res = fx( {name: 12, age: 34, city: 'NY'},
['name', 'city']);
console.log(res); // => {name: 12, city: 'NY'}