gpt4 book ai didi

javascript - Lodash:从对象中选择值列表到保证顺序的数组中

转载 作者:数据小太阳 更新时间:2023-10-29 05:56:49 25 4
gpt4 key购买 nike

我有一个看起来像这样的对象:

const myObject = {
foo: '000',
bar: '123',
baz: '456'
};

我想将 myObject 的属性值的子集放入一个数组中。我需要保留顺序。

手动解决方案如下所示:

const values = [myObject.foo, myObject.baz];

一次尝试可能看起来像:

const values = _.values(_.pick(myObject, ['foo', 'baz']));

此解决方案不正确,因为 pick 创建了一个新对象。在新对象上调用 _.values 会删除在选取的数组中指定的顺序。

有没有一种简单的方法可以做到这一点?

最佳答案

您可以使用与 _.pick() 类似的方式使用 _.at() 来获取数组:

const myObject = {
foo: '000',
bar: '123',
baz: '456'
};

const array = _.at(myObject, ['foo', 'bar', 'baz']);

console.log(array);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

或者你可以在 vanilla JS 中使用 Array#map:

const myObject = {
foo: '000',
bar: '123',
baz: '456'
};

const array = ['foo', 'bar', 'baz'].map((key) => myObject[key]);

console.log(array);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

关于javascript - Lodash:从对象中选择值列表到保证顺序的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47165834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com