【发布时间】:2017-05-13 02:46:40
【问题描述】:
我有一个如下所示的数组,我想进行通配符搜索并检索相应的值。这不会给我任何结果,如果有更好的方法可以帮助我。我在我的 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;
})
【问题讨论】:
-
我认为
allmCar是一个数组,而不是一个对象。 -
@thefourtheye,是的,你是对的,它是一个数组。
-
您是否正在寻找类似于我在回答中显示的内容?因为默认情况下,正则表达式不能与
_.find一起使用 -
您需要指定在此上下文中“更好”的含义。此外,这个问题可能适用于Code Review,只要 (a) 您的代码按预期工作,(b) 您的代码是真实代码,而不是示例代码,并且 (c) 您的代码包含在这个问题。如果您希望通过同行评审来改进代码的各个方面,请将其发布在 Code Review 上。
标签: javascript arrays node.js object lodash