鉴于以下对象,{a:1, b:2, c:3}我正在寻找 es6 语法来将对象的一个子集分解为一个新的对象,即:{b:2 ,c:3}.
我发现这种语法使我能够省略我不想要的属性:
const {a,...newObj} = original.
我该怎么做,包括属性名称。
以下单班轮之一将完成这项工作-
使用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)