Javascript 过滤器会生成一组对象,就像使用lodash的运算符(%oil%)一样
我想根据用户的输入更改过滤对象数组,并使用LODASH()创建一个新的匹配对象数组 我尝试过lodashJavascript 过滤器会生成一组对象,就像使用lodash的运算符(%oil%)一样,javascript,jquery,mysql,arrays,lodash,Javascript,Jquery,Mysql,Arrays,Lodash,我想根据用户的输入更改过滤对象数组,并使用LODASH()创建一个新的匹配对象数组 我尝试过lodash\uu.filter,但这会过滤精确的单词和大小写,然后返回单个搜索值 const filtered = _.filter(listing, function(o) { return o.title === "oi"; }); console.log(filtered); 我希望得到与mysql一样的结果,如下所示: WHERE title like
\uu.filter
,但这会过滤精确的单词和大小写,然后返回单个搜索值
const filtered = _.filter(listing, function(o) {
return o.title === "oi";
});
console.log(filtered);
我希望得到与mysql一样的结果,如下所示:
WHERE title like %oi%
它给出了包含该输入的匹配值
谢谢在您的筛选功能中,使用包含功能 即
在筛选函数中,使用includes函数 即 请看片段, 用于小写以匹配大写和小写的所有字符串, 在您的示例中,字符串“Oil&Gas”是驼峰型,当您尝试匹配该字符串时,它将始终导致空白数组
let list=[{title:“快递/物流”,id:1,totalWorkers:1058,openPositions:0,阿曼:99.72},
{标题:“信息技术”,id:1,totalWorkers:2,openPositions:1,阿曼:50},
{标题:“石油和天然气”,id:1,工人总数:98,空缺职位:6,阿曼:91.84}];
const filtered=u.filter(列表,函数(o){
返回o.title.toLowerCase().indexOf(“oi”)>-1;
});
console.log(过滤)代码>
请参见代码片段,
用于小写以匹配大写和小写的所有字符串,
在您的示例中,字符串“Oil&Gas”是驼峰型,当您尝试匹配该字符串时,它将始终导致空白数组
let list=[{title:“快递/物流”,id:1,totalWorkers:1058,openPositions:0,阿曼:99.72},
{标题:“信息技术”,id:1,totalWorkers:2,openPositions:1,阿曼:50},
{标题:“石油和天然气”,id:1,工人总数:98,空缺职位:6,阿曼:91.84}];
const filtered=u.filter(列表,函数(o){
返回o.title.toLowerCase().indexOf(“oi”)>-1;
});
console.log(过滤)代码>
你根本不需要lodash
只需使用正则表达式和本机筛选器即可:
listing.filter(o=>o.title.match(/oi/i))
你根本不需要lodash
只需使用正则表达式和本机筛选器即可:
listing.filter(o=>o.title.match(/oi/i))
==
意味着它必须是相同的。如果要执行部分检查,请使用.indexOf
。尝试o.title.indexOf('ol')>-1
或使用regex/ol/i.test(o.title)
我也尝试过=
。===
和=
检查完整值。你需要的是部分检查。因此,regex或indexofy您需要更正谓词,而不是使用“==”检查indexOf
方法。比如\u0.filter(清单,v=>v.title.indexOf('oi')!=-1)代码>谢谢Rajesh。很好。==
意味着它必须是相同的。如果要执行部分检查,请使用.indexOf
。尝试o.title.indexOf('ol')>-1
或使用regex/ol/i.test(o.title)
我也尝试过=
。===
和=
检查完整值。你需要的是部分检查。因此,regex或indexofy您需要更正谓词,而不是使用“==”检查indexOf
方法。比如\u0.filter(清单,v=>v.title.indexOf('oi')!=-1)代码>谢谢Rajesh。太好了。您不需要*
。只需检查oi
是否存在。另外,只需一个指针,这些基本问题已经得到了回答。我们应该寻找类似的帖子并将它们标记为重复,而不是回答它们,因为您不需要*
。只需检查oi
是否存在。另外,只需一个指针,这些基本问题已经得到了回答。我们应该寻找类似的帖子,并将它们标记为重复而不是重复。请注意,回答重复的问题是一种不好的做法。正确处理此类帖子的方法是标记/共享重复链接。请注意,回答重复问题是不好的做法。处理此类帖子的正确方法是标记/共享重复链接。
WHERE title like %oi%
return o.title.includes("oi");