javascript - sql "like"在 javascript 数组或 php 数组中搜索

标签 javascript php arrays

我有一个包含城市名称的数组 var name = {"john","johnny","nash","roni","ron"}; 现在我想使用 mysql like 的功能,就像 google 一样,当假设用户输入 j 我想返回 "john","johnny “,如何实现这个,我尝试的是仅在输入 “john”

时返回 “john”

`

$('#student_name').keyup(function(){
    var name = $('#student_name').val();
    $('#suggestion').text(findStu(name,names));
});
    function findStu(val,obj){
        var arr,name;
        for(var i in obj){
            if(typeof obj[i] === "object" && obj[i] instanceof Array){
            arr = obj[i];
            arr.forEach(function(a){
            if(a === val) name = i;
            });
        }
    }
    return name;
}

`

最佳答案

可以使用js原型(prototype).filter()

它映射数组,并根据真/假语句返回元素。然后,您可以使用 indexOf() 执行基本字符串搜索。

它会像这样工作:

var filtered = names.filter(function(str) {
  return str.indexOf(str_to_search) != -1;
});

这将为您提供一个过滤数组,仅包含与 str_to_search 变量匹配的名称。

MDN Array.prototype.filter Docs

在下面的代码片段中查看它的工作情况:

var names = ["john","johnny","nash","roni","ron"];

var str_to_search = 'j';

var filtered = names.filter(function(str) {
  return str.indexOf(str_to_search) != -1;
});

alert(filtered);

关于javascript - sql "like"在 javascript 数组或 php 数组中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25901433/

相关文章:

java - 输入错误的用户名和/或密码后,如何将用户从登录控件重定向到错误页面?

javascript - 为什么我们要向 javascripts 原型(prototype)添加函数?

javascript - 对对象数组内的对象数组中的值进行排序

javascript - 如何转到定义了 Angular 配置的 url 的父级 url

javascript - 访问 $.getJSON 中的 DOM 元素

php - 使用 codeigniter 上的 this->db->where 获取月份和年份

php - 从表单上传将数据加载到文件中

php - mysql_fetch_array() 期望参数 1 为资源、给定的 bool 值和一个

c - 如何检查两个大小相等的数组在 C 中是否具有相同的值? (复杂度 O(n) )

c# - 为什么 C# 多维数组不实现 IEnumerable<T>?