如何通过JavaScript对象解构提取指定属性生成新对象?
答案:当然可以实现!
这正是对象解构的典型应用场景之一,我们可以通过对象解构提取属性+组装新对象的方式轻松实现需求,下面给你两种常用的写法:
写法一:分步操作(清晰易懂)
先通过解构把x中的a、b属性提取为单独变量,再用这些变量创建新对象y:
let x = { a: 10, b: 20, c: 30 }; // 解构提取a、b属性到变量 const { a, b } = x; // 用变量组装新对象y const y = { a, b }; console.log(y); // 输出 {a: 10, b: 20}
写法二:一行紧凑写法
如果不需要单独使用a、b变量,可以用立即执行函数把解构和对象组装合并成一行:
let x = { a: 10, b: 20, c: 30 }; const y = (({ a, b }) => ({ a, b }))(x); console.log(y); // 输出 {a: 10, b: 20}
小补充
这里要注意:对象解构本身是将属性值提取到变量,而非直接生成新对象,所以必须通过变量重新组装的方式得到目标对象y。如果用对象展开运算符的话(比如const y = {...x}; delete y.c),虽然也能得到结果,但那不属于对象解构的实现方式,所以我们上面的写法更贴合你的需求。
内容的提问来源于stack exchange,提问作者Darshan Naik
相关产品推荐
相关产品推荐

