javascript - 将对象值解构为数组

标签 javascript ecmascript-6

我试图从一个对象中提取一些值并将它们放入一个数组中。到目前为止我有这个:

let obj = {
  a: 'a',
  b: 'b',
  c: 'c',
  d: 'd',
  e: 'e'
};
    
let arr = [{a, b, c} = obj];
    
console.log(arr);

然而,这将返回一个只有一个对象的数组:

[ { a: 'a', b: 'b', c: 'c', d: 'd', e: 'e' } ]

我想要的输出是:

['a', 'b', 'c']

有人知道我做错了什么吗?

最佳答案

您可以使用 short hand properties 获取新对象的值.

let obj = { a: 'a', b: 'b', c: 'c', d: 'd', e: 'e' },
    { a, b, c } = obj,
    arr = Object.values({ a, b, c });

console.log(arr);

或者为一个新数组获取想要的键。

let obj = { a: 'a', b: 'b', c: 'c', d: 'd', e: 'e' },
    arr = ['a', 'b', 'c'].map(k => obj[k]);

console.log(arr);

关于javascript - 将对象值解构为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52506661/

相关文章:

javascript - 如何扩展 D3?

javascript - map 未定义

javascript - 通过赋值解构定位特定数组元素

javascript - ES6 导出函数的结果

javascript - 如何将 instanceof 与当前上下文中未定义的类一起使用?

javascript - 根据其他变量定义 JavaScript 对象的合法方式

javascript - 如何在 Kendo UI 自动完成中显示加载图像

javascript - 如何在屏幕尺寸更改时覆盖 jquery slidetoggle

javascript - 如何在视差行内添加视差图像

reactjs - Flowtype 传播运算符不起作用