带有loadash的集合中的通配符搜索

时间:2016-12-28 19:25:08

标签: javascript arrays node.js object lodash

我有一个如下所示的数组,我想进行通配符搜索并检索相应的值。这不会给我任何结果,如果有更好的方法可以帮助我。我在我的nodejs应用程序中使用lodash实用程序。

var allmCar = [
  {
    "_id": ObjectId("5833527e25bf78ac0f4ca30e"),
    "type": "mCar",
    "value": "ABDC",
    "__v": 0
  },
  {
    "_id": ObjectId("5833527e25bf78ac0f4ca30e"),
    "type": "mCar",
    "value": "XYZ ABD",
    "__v": 0
  },
  {
    "_id": ObjectId("5833527e25bf78ac0f4ca30e"),
    "type": "mCar",
    "value": "FGHJ",
    "__v": 0
  }
]

_.find(allmCar, {
  value: {
    $regex: 'XYZ'
  }
})

我最终最终使用_.includes如下

_.each(allmCar,function(car){
    if(_.includes('XYZ', car.value)===true)
    return car;
})

1 个答案:

答案 0 :(得分:1)

您可以对传递给_.find的函数执行相同操作,例如

_.find(allmCar, function(mCar) {
  return /XYZ/.test(mCar.value);
});

或使用箭头功能

_.find(allmCar, (mCar) => /XYZ/.test(mCar.value));

这将应用传递给集合的所有项目的函数,如果项目返回true,则将返回该项目。