我想以不区分大小写的方式执行应该对字符串进行简单搜索的内容,以查看它是否包含多个搜索字词的所有。
例如,"快速棕色狐狸"包含" fox"和"快速",所以我想要一个可以接受这两个单词的函数,并显示该短语包含它们,无论它们的顺序如何。
所以我想我要求的是一个基于字符串的" AND"搜索范围。
答案 0 :(得分:0)
一个简单的解决方案是使用let serverURL = "https://api.parse.com/1/classes/GameScore"
let query = "where={\"playerName\":\"Sean Plott\",\"cheatMode\":false}"
let url = serverURL + "?" + query.stringByEncodingURL
方法检查每个搜索词都包含在字符串中。
我将搜索字词指定为单个字符串,该字符串将按空格分割:
array.every()
以上内容将返回var haystackString = "The quick brown fox";
var needleString = "fox quick";
var searchTerms = needleString.split(" ");
return searchTerms.every(function stringContains(element, index, array) {
return haystackString.toUpperCase().includes(element.toUpperCase());
});
。
请注意,true
可能不适用于所有语言。
答案 1 :(得分:0)
将术语数组转换为RegExp。然后使用String#match查找字符串中的所有匹配项。如果匹配数与术语数相同,则包含所有匹配项:
{ "_id" : 2, "total" : 7000 }
{ "_id" : 1, "total" : 10300 }