快捷方式将一些对象值按一定顺序放入数组中?

问题描述 投票:0回答:1

我有一个带有很多键的对象,我想按一定的顺序将一些相应的值放入数组中。

为了获得这些值,我可以使用解构法,例如

const obj = { foo: 1, bar: 3, baz: 2, other: 666, keys: "here" };
const { foo, bar, baz } = obj;
const array = [ foo, bar, baz ]; // 1, 3, 2

当然,我可以用很多方法来实现我的目标,比如不解构:

const array = [ obj.foo, obj.bar, obj.baz ]; // 1, 3, 2

或者将这些键作为数组并对其进行映射。

const array = ["foo", "bar", "baz"].map( v => obj[v] )

但是有没有更简单的方法呢?

例如,在 Perl 中,是简单的快捷方式:

my %obj = (foo => 1, baz => 3, bar => 2); 
my @arr = @obj{ ('foo','bar','baz') }; # 1, 3, 2

相反,

('foo','bar','baz')
在这里我实际上可以使用任何返回这些键列表作为对象(哈希)选择器的语句。

我无法在 JS 中找出类似的东西。

javascript perl javascript-objects
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.