Javascript 排序显示隐藏结果div typeahead.js的有效方法
我需要帮助优化(算法)显示隐藏元素基于jQuery插件Typehead.js触发的JavascriptJavascript 排序显示隐藏结果div typeahead.js的有效方法,javascript,jquery,html,typehead,Javascript,Jquery,Html,Typehead,我需要帮助优化(算法)显示隐藏元素基于jQuery插件Typehead.js触发的Javascript jQuery(document).ready(function( $ ) { var cars = ['apv', 'celerio', 'dreza', 'ertiga', 'ertiga diesel', 'futura', 'ignis', 'swift', 'sx4', 'vitara', 'wagon']; var substringMatch
jQuery(document).ready(function( $ ) {
var cars = ['apv', 'celerio', 'dreza', 'ertiga', 'ertiga diesel', 'futura', 'ignis', 'swift', 'sx4', 'vitara', 'wagon'];
var substringMatcher = function(strs) {
return function findMatches(q, cb) {
var matches, substringRegex;
matches = [];
substrRegex = new RegExp(q, 'i');
$.each(strs, function(i, str) {
if (substrRegex.test(str)) {
matches.push(str);
}
});
cb(matches);
//show - hide result function
showresult(matches,cars);
};
};
$('#the-basics .typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1,
limit: 4
},
{
name: 'cars',
source: substringMatcher(cars)
});
// Here is my function
function showresult(strs,cars) {
var count = cars.length;
var countx = strs.length;
var temp = '';
$('.product-index').hide();
for (j = 0; j < countx; j++) {
for (i = 0; i < count; i++) {
if (cars[i] == strs[j]) {
temp = '';
temp = '.' + cars[i];
temp = temp.replace(' ','-');
$(temp).show();
}
}
}
}
});
jQuery(文档).ready(函数($){
var cars=['apv','celerio','dreza','ertiga','ertiga diesel','futura','ignis','swift','sx4','vitara','Vang'];
var substringMatcher=函数(strs){
返回函数findMatches(q,cb){
var匹配,substringRegex;
匹配项=[];
substregex=新的RegExp(q,‘i’);
$。每个(str,功能(i,str){
if(子相关性测试(str)){
匹配。推(str);
}
});
cb(比赛);
//显示-隐藏结果函数
展示结果(比赛、汽车);
};
};
$(“#basics.typeahead”).typeahead({
提示:没错,
推荐理由:没错,
最小长度:1,
限额:4
},
{
名称:“汽车”,
来源:子字符串匹配器(cars)
});
//这是我的功能
功能显示结果(strs、cars){
var计数=cars.length;
var countx=标准长度;
var temp=“”;
$('.product index').hide();
对于(j=0;j
HTML div如下所示
<div class="product-index ertiga-diesel">
<!-- the content -->
</div>
这已经足够优化了吗?当有大量数据来自远程数据库时,我担心会出现太多的循环。如果它已经在工作,最好将其放在OMG上,我不知道有“codereview”,这是我的错。