动态对象解构

Kev*_*vin 0 javascript destructuring

我试图找出一种基于属性名称的动态列表/数组来解构对象的方法。

说,我有一个对象:

let individual = {
    id: 1,
    fullname: 'User Name',
    sex: 'M',
    birthdate: new Date(1975, 3, 15)
};
Run Code Online (Sandbox Code Playgroud)

和一个带有属性名称的动态数组:

let properties = ['id', 'fullname','sex'];
Run Code Online (Sandbox Code Playgroud)

有没有办法简单地获取仅具有数组中指定属性的结果对象:

{
    id: 1,
    fullname: 'User Name',
    sex: 'M'
}
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 5

我不确定它是否可以通过解构来完成,但它可以通过几个函数来完成。

let individual = {
  id: 1,
  fullname: 'User Name',
  sex: 'M',
  birthdate: new Date(1975, 3, 15)
};
let properties = ['id', 'fullname','sex'];

let result = Object.fromEntries(properties.map(prop => [prop, individual[prop]]));

console.log(result);
Run Code Online (Sandbox Code Playgroud)