首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用数组内的对象解构赋值

使用数组内的对象解构赋值
EN

Stack Overflow用户
提问于 2019-04-20 19:30:43
回答 5查看 125关注 0票数 0

有没有一种方法可以使用解构赋值从对象数组中解包?

代码语言:javascript
复制
[

{a : 1},
{a : 1},
{a : 1},
{a : 1}

]

这里我需要的结果是一个数组: 1,1,1,1

EN

回答 5

Stack Overflow用户

发布于 2019-04-20 19:33:36

解构需要创建4个独立的变量,然后将它们重新组合到一个数组中。这将是非常湿的,没有太多意义,但如果你必须:

代码语言:javascript
复制
const arr = [
  {a : 1},
  {a : 1},
  {a : 1},
  {a : 1}
]
const [{ a: item1 }, { a: item2 }, {a: item3}, {a: item4 }] = arr;
const newArrOfAs = [item1, item2, item3, item4];
console.log(newArrOfAs);

使用reduce的原始代码更好,但更合适的方法是使用Array.prototype.map,因为输入数组和输出数组的项是一对一的:

代码语言:javascript
复制
const arr = [
  {a : 1},
  {a : 1},
  {a : 1},
  {a : 1}
]
const newArrOfAs = arr.map(({ a }) => a);
console.log(newArrOfAs);

票数 1
EN

Stack Overflow用户

发布于 2019-04-20 19:33:06

您将使用.map()

代码语言:javascript
复制
const a = [

  {
    a: 1
  },
  {
    a: 1
  },
  {
    a: 1
  },
  {
    a: 1
  }

];


const b = a.map(val => val.a);

console.log(b);

票数 0
EN

Stack Overflow用户

发布于 2019-04-20 20:01:02

这应该是可行的。您可以使用foreach或map

代码语言:javascript
复制
const array = [
  {a : 1},
  {a : 1},
  {a : 1},
  {a : 1}
]
let newArray = []
array.forEach(function(element) {
  newArray.push(element.a)
});
console.log(newArray)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55773086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档