关于数组中包含对象的解构??

发布于 2022-09-13 00:51:46 字数 199 浏览 14 评论 0

let arr = [{id: 1, name: "xp", age: 20}, {id: 2, name: "xp2", age: 0}];

这样的数据如何通过解构变成
let temp = ["xp","xp2"];

目前想到的方式是通过reduce进行转换。是否可以通过解构方式转换???

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

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

发布评论

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

评论(2

℡Ms空城旧梦 2022-09-20 00:51:46

数组的解构:

const [a, b] = arr;
// 分别把 `arr[0]`、`arr[1]` 赋给新变量 `a`、`b`

// 数组也可使用“索引:变量名”的解构方式,类似于对象解构
// const {0: a, 1: b} = arr

解构是可以嵌套的,因此,如果 ab 都是对象且需要进一步解构的话,在对应的位置嵌套解构即可:

const [{ name }, { name: xp2 }] = arr;
// 这里要给至少一个元素的 `name` 进行重命名,不然会出现两个
// `name`变量,报重复声明常量(redeclaration of const)错误

(对于层次深但结构固定的对象,嵌套解构比逐层取下标方便)。
得到的 name 即为 arr[0].namexp2 即为 arr[1].name

一笔一画续写前缘 2022-09-20 00:51:46

这为啥要解构呢……

arr.map(e => e.name);

不就完了么?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文