在js中将部分对象销毁为新对象

Ron*_*dot 1 javascript

鉴于以下对象,{a:1, b:2, c:3}我正在寻找 es6 语法来将对象的一个​​子集分解为一个新的对象,即:{b:2 ,c:3}.

我发现这种语法使我能够省略我不想要的属性: const {a,...newObj} = original.

我该怎么做,包括属性名称。

Ari*_*rik 6

以下单班轮之一将完成这项工作-

使用Object.fromEntries

Object.fromEntries([key1, key2].map((k) => [k, obj[k]]));
Run Code Online (Sandbox Code Playgroud)

使用Object.assign

Object.assign({}, ...([key1, key2].map((k) => ({[k]: obj[k]}))));
Run Code Online (Sandbox Code Playgroud)

使用对象解构:

( ({key1, key2}) => ({ key1, key2 }) )(obj);
Run Code Online (Sandbox Code Playgroud)

以上允许在不创建中间变量或对象的情况下获取新对象。

例如 -

Object.fromEntries([key1, key2].map((k) => [k, obj[k]]));
Run Code Online (Sandbox Code Playgroud)