jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在JQuery中搜索数组,如SQL LIKE%value%语句大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个数组有一些值。如何使用jquery搜索与该数组匹配或接近的值的数组?
var a = ["foo","fool","cool","god"];

如果我想搜索oo,那么它应该返回foo,傻瓜和酷,因为这些字符串包含oo。

解决方法

在数组中搜索您必须使用jQuery.grep()或jQuery.map()。两者都使用回调函数返回带有过滤元素的新数组。

最快的实现(不区分大小写)在回调中使用indexOf和toUpperCase:

var search_term = 'oo'; // your search term as @R_197_10495@ng
var search = search_term.toUpperCase();
var array = jQuery.grep(a,function(value) {
    return value.toUpperCase().indexOf(search) >= 0;
});

如果您不需要区分大小写的搜索,可以同时删除.toUpperCase()以加速进一步。

更灵活但更慢(对于小数组来说足够好)是使用正则表达式:

var search_term = "oo"; // search term
var search = new RegExp(search_term,"i");
var arr = jQuery.grep(a,function (value) {
    return search.test(value);
});

要么

var search_term = "oo"; // search term
var search = new RegExp(search_term,"i");
var arr = jQuery.map(a,function (value) {
    return value.match(search) ? value : null;
});

正则表达式允许您搜索比%值%更复杂。但是,如果您不需要它,因为它的速度要慢很多,请不要使用它。

你应该得到一个数组arr与匹配的元素

更新:更改示例以避免硬编码的搜索项(根据注释中的问题)并简化代码

updatE2:从正则表达式中删除了“g”标志

大佬总结

以上是大佬教程为你收集整理的如何在JQuery中搜索数组,如SQL LIKE%value%语句全部内容,希望文章能够帮你解决如何在JQuery中搜索数组,如SQL LIKE%value%语句所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。