我有一个如下所示的数组,我想进行通配符搜索并检索相应的值。这不会返回任何结果,如果有更好的方法可以帮助我。我在我的 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;
})
最佳答案
您可以对传递给 _.find
的函数执行相同操作,如下所示
_.find(allmCar, function(mCar) {
return /XYZ/.test(mCar.value);
});
或者用箭头函数,
_.find(allmCar, (mCar) => /XYZ/.test(mCar.value));
这会将传递给集合中所有项目的函数应用,如果一个项目返回 true
,则该项目将被返回。
关于javascript - 使用 lodash 在集合中进行通配符搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41368469/