【发布时间】:2012-05-01 11:53:42
【问题描述】:
我已经为一组 javascript 对象构建了一个搜索函数,其代码如下:
- 用户在表单输入框中输入文本
- 循环遍历对象数组
- 如果对象文本包含输入文本,则将对象推送到单独的“过滤”数组中
- 显示过滤数组
使用 javascript 中内置的字符串 search() 函数可以正常工作。
if(objectarray[i].text.search(userstring)>=0){
filteredarray.push(currentobject)
};
现在客户希望按照以下方式进行更高级的搜索:
查找文本包含(x1 或 x2)和(x3 或 x4 或 x5)的对象
其中每个 x 都是一个单词,当满足上述条件时,一个对象将被推送到过滤后的集合中。
是否有内置函数可以处理这种复杂的布尔语句?
【问题讨论】:
-
考虑这个声称使用 reparse 来做你描述的事情的库:github.com/bloomtime/boolean-expression-js
标签: javascript full-text-search logic boolean