// Объект
const obj = {
a: 1, b: 2, c: 3, d: 4, e: 5
}
// Массив названий полей, которые нам нужны
const arrayOfRequiredFields = [ 'a', 'b', 'd' ]
// хочется получить такой результат
// То есть отдельные переменные, но чтобы не было дублирования названий обязательных полей
const { a, b, d } = obj
// Объект
const obj = {
a: 1, b: 2, c: 3, d: 4, e: 5
}
// Массив названий полей, которые нам нужны
const arrayOfRequiredFields = [ 'a', 'b', 'd' ]
const resObj = Object.keys(obj).reduce(
(acc, key) => arrayOfRequiredFields.some(field => field === key) ? {...acc, key: obj[key]} : acc
, {});