搜索的Javascript对象中的数组与SQL通过对象键 [英] Javascript Search in Object Array Like SQL By Object Key

查看:110
本文介绍了搜索的Javascript对象中的数组与SQL通过对象键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如,我有一个这样的数组:

  VAR ARR = [
    {关键词:样品1,项目:{称号:样品名称,URL:/样品}},
    {关键词:富1,项目:{称号:富标题,URL:/样品}}
];

我想在关键字键进行搜索,比如当用户presses从他们的投入与收益匹配对象的关键。

如果用户presses为S键,那么首先[0],元素必须返回。就像使用SQL LIKE语句。

  $(#查询)。在('键preSS',函数(){
    VAR的结果= $ .grep(关键字,功能(E){
    //我不知道我应该在这里做。
    });
});


解决方案

如果你想使用 $的grep 你可以做这样的:

  $(#查询)。在('KEYUP',函数(){
    VAR搜索= this.value.toLowerCase();
    VAR的结果= $ .grep(关键字,功能(EL){
        返回el.keyword.toLowerCase()的indexOf(搜索)GT。 -1;
    });
});

演示: http://jsfiddle.net/9TPSa/

另外请注意,我切换到 KEYUP 事件能够读取更新 THIS.VALUE

For example, i have an array like this:

var arr = [
    {"keyword": "Sample 1", "item": {"title":"Sample Title", "url": "/sample"}},
    {"keyword": "Foo 1", "item": {"title":"Foo Title", "url": "/sample"}}
];

I want to search in the "keyword" key, like when a user presses a key from their input and return that matches objects.

If user presses to "s" key, then first [0], element must return. Like using the SQL LIKE statement.

$("#query").on('keypress', function () {
    var result = $.grep(keywords, function(e){
    //I do not know what should i do here.    
    });
});

解决方案

If you want to use $.grep you can do it like this:

$("#query").on('keyup', function() {
    var search = this.value.toLowerCase();
    var result = $.grep(keywords, function(el) {
        return el.keyword.toLowerCase().indexOf(search) > -1;
    });
});

Demo: http://jsfiddle.net/9TPSa/

Also note, that I switched to keyup event to be able to read updated this.value.

这篇关于搜索的Javascript对象中的数组与SQL通过对象键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆