Javascript 搜索数组,按与查询的相关性显示结果

Javascript 搜索数组,按与查询的相关性显示结果,javascript,arrays,search,Javascript,Arrays,Search,我想在javascript数组中执行搜索,该数组显示与查询相关的所有结果,这相当于以下SQL语句: "SELECT * FROM table WHERE column LIKE input" 下面是一个例子: var array = []; array[0] = "Apple"; array[1] = "Apricot"; array[2] = "Pear"; array[3] = "Peacock"; 假设我的查询字符串为“ap”,它将按以下顺序返回结果: 1. "Apple" 2. "A

我想在javascript数组中执行搜索,该数组显示与查询相关的所有结果,这相当于以下SQL语句:

"SELECT * FROM table WHERE column LIKE input"
下面是一个例子:

var array = [];
array[0] = "Apple";
array[1] = "Apricot";
array[2] = "Pear";
array[3] = "Peacock";
假设我的查询字符串为“ap”,它将按以下顺序返回结果:

1. "Apple"
2. "Apricot"

query = "p"
result:

1. "Pear"
2. "Peacock"
3. "Apple"
4. "Apricot"

query = "r"
result:

1. "Apricot"
2. "Pear"
这在javascript中可能吗?怎么做?

试试这个

    var arr = [];
    arr[0] = "Apple";
    arr[1] = "Apricot";
    arr[2] = "Pear";
    arr[3] = "Peacock";

    var resultArr=[];
    var str='ap'//string to search

    for(var i=0;i<arr.length;i++){
      if(arr[i].indexOf(str) != -1){
         resultArr.push(arr[i]);
      }
    }

  alert('search results:'+resultArr);
    //resultArr contains reults 
var arr=[];
arr[0]=“苹果”;
arr[1]=“杏”;
arr[2]=“Pear”;
arr[3]=“孔雀”;
var resultar=[];
var str='ap'//要搜索的字符串
对于(var i=0;i
var数组=[];
数组[0]=“苹果”;
数组[1]=“杏”;
数组[2]=“Pear”;
数组[3]=“孔雀”;
函数搜索数组(查询){
结果射线=[];

对于(var i=0;iI假设您必须写下自己的函数来完成此操作。您尝试过什么吗?taffydb允许您使用查询对象而不是函数来过滤数据。@dandavis taffy看起来很棒,谢谢您的提及!非常好,谢谢!知道如何显示最多10个结果吗?如果您只想要最多10个搜索结果,那么u(var i=0;i=10){break;//退出循环}的se脚本
var array = [];
array[0] = "Apple";
array[1] = "Apricot";
array[2] = "Pear";
array[3] = "Peacock";

function searchArray(query){
    resultArray = [];
    for(var i=0;i<query.length-1;i++){
        var char = query.charAt(i);
        if(array[i].indexOf(char)!=null){
            resultArray.push(array[i]);
        }
    }
    return resultArray;
}