【问题标题】:how to do a search with an array如何使用数组进行搜索
【发布时间】:2023-03-19 13:44:01
【问题描述】:

如何使用数组 javascript 按姓名和姓氏进行搜索? 每次我搜索以 je 开头的内容时,div=result 都会显示所有带有 Je 的姓名和姓氏,在这种情况下是 Jessica 和 Jey;
这将是一个 onkeydown 事件,对吧?

<input type='text' id='filter' placeholder='search in array'>

我在这里打印结果:

<div id='result'></div>

这是我的数组:

var datos = [ ['Jessica','Lyn',3],
         ['Jhon','Cin',5],
         ['Alison','Peage',1],
         ['Thor','zhov',12],
         ['Jey','hov',32]  
        ];

【问题讨论】:

  • 您能告诉我们您目前编写的搜索代码吗?你遇到了什么问题?
  • 您可以使用类似于facebook提示的jqueryui库,同时在cmets中使用@jqueryui.com/autocomplete搜索朋友

标签: javascript jquery arrays filter


【解决方案1】:
$("#filter").on('keyup', function () {
   var val = $(this).val();
   $("#result").empty();
   $.each(datos, function () {
      if (this[0].indexOf(val) >= 0 || this[1].indexOf(val) >= 0) {
         $("#result").append("<div>" + this[0] + ' ' + this[1] + "</div>");
      }
   });
});

http://jsfiddle.net/MqTBm/

【讨论】:

    【解决方案2】:
    var $result = $('#result');
    
    $('#filter').on('keyup', function () {
        var $fragment = $('<div />');
        var val = this.value.toLowerCase();
        $.each(datos, function (i, item) {console.log( item[0].toLowerCase().indexOf(val) );
            if ( item[0].toLowerCase().indexOf(val) == 0 ) {
                $fragment.append('<p>' + item[0] + ' ' + item[1] + '</p>');
            }
        });
        $result.html( $fragment.children() );
    });
    

    这是小提琴:http://jsfiddle.net/GkWGk/

    【讨论】:

    • @chikatetsu - 只是为了表明它是一个 jQuery 集合。
    • @chikatetsu:$result 中的$ 标识$result 是一个变量,它是一个jQuery 包装器。这是区分普通 JavaScript 变量和可以使用 jQuery 方法的变量的快速方法,无需再次包装。
    【解决方案3】:

    简单的答案是在数组上运行一个 for 循环来检查每个元素。但是,如果您有一个大数组,这不是一个好主意。有很多方法可以索引一个数组。想到我可能会构建第二个数组,它将作为一个字符串连接的字段存储为索引,然后是数组引用。所以你可以通过引用对象进行循环。查找具有字符串比较的条目。获取对真实数组的索引引用。

    【讨论】:

    • 这个准相关的SO Question 有一个答案更能描述我在说什么。
    猜你喜欢
    • 1970-01-01
    • 2013-02-01
    • 2014-08-24
    • 2011-07-10
    • 1970-01-01
    • 2021-01-18
    • 2013-09-29
    • 2013-05-22
    • 2020-02-01
    相关资源
    最近更新 更多