首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lodash _.pick()返回空对象

Lodash _.pick()返回空对象
EN

Stack Overflow用户
提问于 2016-05-02 14:01:43
回答 2查看 3.6K关注 0票数 0

我在mongodb中使用nodejs。我的object类似于从集合查询中获得的东西。然后我用lodash https://lodash.com/docs#pick过滤它。

代码语言:javascript
复制
var _ = require('lodash');

var object = [{
    branchID: '1239',
    branchName: 'Branch Name 1',
    zoneID: '51',
    zoneName: 'Zone Name 1',
    regionID: '5',
    regionName: 'Region 1'
},
{
    branchID: '1240',
    branchName: 'Branch Name 2',
    zoneID: '52',
    zoneName: 'Zone Name 2',
    regionID: '5',
    regionName: 'Region 3'
}];

var test1 = _.pick(object, function (data) {
    return data.branchName == 1239
});

var test1 = _.pick(object, function (data) {
    return data.branchName == "1239"
});

console.log(test); // {}

我今天都在跟mongodb合作。以上代码直到今天晚上才开始工作。通常情况下,它应该会给我这样的答复:

代码语言:javascript
复制
{
    branchID: '1239',
    branchName: 'Branch Name 1',
    zoneID: '51',
    zoneName: 'Zone Name 1',
    regionID: '5',
    regionName: 'Region 1'
}

我做错什么了吗?我有别的方法过滤这个对象吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-02 14:04:22

我认为您必须使用_.pickBy,因为这是一个函数,您也不可能使用一个函数,而是使用一个函数,您需要pickBy。

关于进一步的解释:_.pick是指您想要从_.pick({a: 1, b: 2, c: 3}, ['a', 'c'])这样的对象中选择确切的键时,只返回与_.omit相同的=> {a: 1, c: 3},以处理省略:_.omit({a: 1,b: 2,c: 3},‘b’).

这时,您需要检查某个键或值是否符合特定条件,因此必须使用_.pickBy或_.omitBy:

代码语言:javascript
复制
_.pickBy({a: 1, b: 2, c: 3}, function(item){
    if(_.gte(item, 2)){
        return item;
    }
});

将返回{b: 2,c: 3},因为它们大于或等于2。在响应注释时,请确保如果您有一个数组,您可能希望这样做:

代码语言:javascript
复制
function checkIfMeetsMyCriteria(obj){
     _.pickBy(obj, function (data) {
         return data.branchName == "1239"
     });
}

_.map(objects, checkIfMeetsMyCriteria);
票数 1
EN

Stack Overflow用户

发布于 2018-08-28 07:28:54

我认为您希望选择具有branchID = 1239的项,但您使用的是branchName。这就是为什么没有数据返回。

我认为下面的代码应该有效。

代码语言:javascript
复制
var test1 = _.pick(object, function (data) {
    return data.branchID == "1239"
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36984340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档