创建字符串筛选器比较的最佳方式
Best way to create string filter comparation?
我的目标是创建一个过滤器search
函数,特别是实际上我使用的.indexOf
方法允许我检查两个字符串是否相等。问题是,如果我的比较字符串有这样的空格分隔:Hair Cut
。
示例:
要搜索的字符串:Hair
对象中包含的字符串:Hair Cut
var cerca = $('#filter_service').val();
for(var i = 0; i < GlobalVariables.availableServices.length; i++) {
if (cerca.toLowerCase().contains(GlobalVariables.availableServices[i].name.toLowerCase()) != -1) {
console.log(GlobalVariables.availableServices[i].name)
}
}
如何查看我在示例中对包含字符串Hair
的变量cerca
进行了估价。我将其与一个对象变量进行比较,正如我所说,问题是如果我插入字符串Hair
,我在控制台中没有得到响应,如果我插入像比较字符串Hair Cut
那样带有空格的字符串,我会得到控制台响应。
当变量cerca
等于压缩字符串的第一个字符时,我如何打印结果?特别是Hai
?
我不知道我是否清楚,希望是的。
.contains()
用于检查DOM元素的子级。您在上面说过您正在使用.indexOf
进行检查,但看起来您在代码中没有使用它?
var cerca = $('#filter_service').val();
var searchIn;
for(var i = 0; i < GlobalVariables.availableServices.length; i++) {
searchIn = GlobalVariables.availableServices[i].name.toLowerCase().split(' ');
for (j = 0; j < searchIn.length; j++) {
if (cerca.toLowerCase().split(' ').indexOf(searchIn[j].toLowerCase()) >= 0) {
console.log(GlobalVariables.availableServices[i].name);
}
}
}
$('#filter_service').on('input', function() {
var inputStr = $('#filter_service').val();
var similar = [];
for (i = 0; i < GlobalVariables.availableServices.length; i++) {
if (GlobalVariables.availableServices[i].name.toLowerCase().indexOf(inputStr.toLowerCase) >= 0) {
similar[similar.length] = GlobalVariables.availableServices[i].name;
}
}
// At this point, you can do whatever you want with the similar service
// names (all of the possible result names are included in the array, similar[].)
});
我现在不能测试那个代码,但从理论上讲,它应该可以工作。
以下是一个JSFiddle演示:http://jsfiddle.net/MrGarretto/vrp5pghr/
编辑:更新并修复了我的错误
编辑2:添加了"可能结果"解决方案
编辑3:添加了一个JSFiddle
相关文章:
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 为react组件传递道具的最佳方式
- 让Webpack管理Quirky AMD定义的最佳方式
- 在承诺链中处理早期回报的最佳方式
- 在ng重复循环中显示条件内容的最佳方式是什么
- 在phonegap中为android调用onload函数的最佳方式
- 链接两个网页或网络应用程序的最佳方式
- 什么's是连接供应商js文件的最佳方式
- 什么's是在javascript中迭代项的最佳方式
- 在node.js中编写单元测试的最佳方式是什么
- 在页面上记录数据并实现pushstate()的最佳方式
- 使用AJAX在Rails中提交动态表单的最佳方式是什么
- 什么'这是加载jQuery的最佳方式
- 将大数组(字符串和类型数组的混合物)存储到blob或文件中/从blob或文件检索大数组的最佳方式
- 在网站上显示.mov作为加载屏幕的最佳方式
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 以角度渲染表中数据的最佳方式
- 删除集合中旧邮件/帖子的最佳方式
- 显示全屏Ajax加载程序的最佳方式
- PHP和JS中表单验证的最佳方式