JS如何通过一行代码快速过滤出自己想要的属性

23 阅读1分钟

最近工作中遇到了个很有意思的写法,玩的挺花,因此记录一下~

示例如下:

img_v3_028f_ff3dd2c5-7b7b-4ff6-b681-9088a24eb29g.jpg

就是这么一行短短的代码,就能快速从一个对象中快速过滤出自己想要的属性。

不太理解?没事,我来带你逐步分析~

let result = (({ p1, p2, p100 }) => ({ p1, p2, p100 }))(myObj);

{p1,p2,p100}:解析,只取传入的myObj的p1,p2,p100

(({ p1, p2, p100 }) =>:箭头函数入参

=> ({ p1, p2, p100 })):箭头函数,({ //代码 }),通过()包起来,只有当箭头后面的标记不是左括号时,JavaScript 才会将箭头函数视为表达式体,因此括号({ //代码 })内的代码会被解析为一系列语句。

img_v3_028f_d2b771ef-07c0-4c07-9f65-25b5cdf2bffg.jpg

img_v3_028f_91e2c81b-5c95-4072-b4c5-c1841b61b62g.jpg