使用数组内的对象进行解析分配

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用数组内的对象进行解析分配相关的知识,希望对你有一定的参考价值。

有没有办法使用解构赋值从一组对象中解压缩值?

[

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

]

我需要的结果是一个数组:[1,1,1,1]

答案

你会使用.map()

const a = [

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

];


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

console.log(b);
另一答案

解构需要创建4个单独的变量,然后这些变量将重新组合成一个数组。这将是非常WET,并没有多大意义,但如果你不得不:

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);
另一答案

你可以使用即将推出的Array#flatMap

var array = [{ a: 1 }, { a: 1 }, { a: 1 }, { a: 1 }];
    result = array.flatMap(Object.values);

console.log(result);
另一答案

这应该工作。您可以使用foreach或map

const array = [
  {a : 1},
  {a : 1},
  {a : 1},
  {a : 1}
]
let newArray = []
array.forEach(function(element) {
  newArray.push(element.a)
});
console.log(newArray)
另一答案

你应该只使用map