在lodash链中包含isNil

时间:2017-06-30 12:04:18

标签: javascript lodash

我有这样的实体集合:

var entities = [
  {
    location: null,
    label: 'xyz'
  },
  {
    location: {
      city: 'city'
    },
    label: 'xyz'
  }
  {
    label: 'xyz'
  }
];

尝试过滤出位置= nullundefined或根本不存在的实体。使用lodash。

以这种方式测试第一个实体的位置时,它会返回正确答案true

_.isNil(_(entities[0]).get('location'));

但是当我尝试在链中包含isNil时,它会返回Cannot read property 'valueOf' of null错误:

_(entities[0]).get('location').isNil

可以在lodash链中以某种方式包含isNil吗?

问题在于:https://codepen.io/neptune01/pen/qjxJwr

我需要以某种方式使用它:

_(entities).omitBy(_.get('location').isNil)

_(entities).omitBy(_(entity).get('location').isNil)

1 个答案:

答案 0 :(得分:1)

import json list1 = ['ABC', 'DEF'] list2 = ['ABCabc', 'DEFdef'] output = {'foobar': []} for a in list1: for b in list2: if b.startswith(a): output['foobar'].append({a: b}) continue open('index.json', 'w').write(json.dumps(output)) 不可链接。

查看非强制性方法的完整列表 here

您可以像这样使用它,以解决您的特定问题:

isNil()



_.omitBy(entities, (el) => _.isNil(el.location))

var entities = [{
    location: null,
    label: 'xyz'
  },
  {
    location: {
      city: 'city'
    },
    label: 'xyz'
  }
];

console.log(_.omitBy(entities, (el) => _.isNil(el.location)));