gpt4 book ai didi

javascript - 如何在 lodash 版本 4 中获得 _.pick 功能

转载 作者:搜寻专家 更新时间:2023-11-01 04:30:21 25 4
gpt4 key购买 nike

据我所知,如下所示的 answer 现在在 lodash v4 中被破坏了。

var thing = {
"a": 123,
"b": 456,
"abc": 6789
};

var result = _.pick(thing, function(value, key) {
return _.startsWith(key, "a");
});

console.log(result.abc) // 6789
console.log(result.b) // undefined

在第 4 版的 lodash 中,您是如何做到这一点的?

最佳答案

更新(2 月 8 日)

从 v4.0.1 开始,_.omitBy 和 _.pickBy 现在为谓词提供了一个关键参数。因此,现在的正确答案是:

使用_.pickBy(object, [predicate=_.identity])

原始答案

从v4开始,一些方法已经拆分。例如,_.pick() 已拆分为 _.pick(array, [props])_.pickBy(object, [predicate=_.identity])

我的第一个方法是尝试这个 _.pickBy() 方法。不幸的是,所有 ...By() 方法仅将值作为第一个参数传递。他们不会得到 key 或收集通过。这就是为什么它不能通过简单地从 _.pick() 切换到 _.pickBy() 来工作。

但是,您可以这样做:

var thing = {
"a": 123,
"b": 456,
"abc": 6789
};

var result = _.pick(thing, _(thing).keys().filter(function(key) {
return _.startsWith(key, "a");
}).value());

console.log(result)

关于javascript - 如何在 lodash 版本 4 中获得 _.pick 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34811954/

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