【发布时间】:2022-01-24 22:55:52
【问题描述】:
我的问题很简单,但我一直没能找到答案。
目前我有这个:
const {email, firstname, lastname, isAdmin} = decodeToken(token);
const user = {email, firstname, lastname, isAdmin};
我正在寻找一种将这段代码缩短为一行的方法。我尝试了不同的组合,但都没有奏效。
【问题讨论】:
-
1.创建一个函数。 2.重复使用它。 3. 完成 - 无论您在哪里使用,它都很简短。\
-
你真正想要的是不解构。不要使用解构
-
如果您使用的是 lodash,
_.pick(decodeToken(token), ['email', 'firstname', 'lastname', 'isAdmin'])可以解决问题。 -
如果不使用辅助函数,您无法避免输入两次变量名。如果“问题”是这两行,虽然我不明白为什么会这样,您可以使用
const {email, firstname, lastname, isAdmin, user={email, firstname, lastname, isAdmin}} = decodeToken();,但我仅将其作为技术解决方案发布。不是应该真正使用的。你有两行很好理解。
标签: javascript ecmascript-6 destructuring