es6 解构后如何重新赋值?

发布于 2022-09-13 00:24:43 字数 424 浏览 10 评论 0

const source = {name:1,gender:'male',height:178,weight:60,address:'北京','work':'IT'},
const { name, gender, height, weight } = source;
const data = {name, gender, height, weight};

如上我想从 source 数据中获取一个新的 data,包括name, gender, height, weight字段.
有没有快捷的方法 直接在第二行source 解构取出来的值 赋值给 data

const data = { name, gender, height, weight } = source;//类似的猜想....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

记忆消瘦 2022-09-20 00:24:43

let _data = JSON.parse(JSON.stringify(source, ['name', 'gender', 'height', 'weight']))

宣告ˉ结束 2022-09-20 00:24:43

目前 ES 还没有 那样快捷 的解构写法去选择一些属性构成新对象。相干提案 pick notation 还未进入 TC39 提案表里。利用解构的 rest 语法倒可以过滤一些属性构成新对象,比如在你的例子中可以像这样

const { address, work, ...data } = source;
小傻瓜 2022-09-20 00:24:43

解构赋值没有,但 lodash.pick 函数, 可以达到你的目的

const data = _.pick(source, ['name', 'gender', 'height', 'weight'])
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文