搜索的Javascript对象中的数组与SQL通过对象键 [英] Javascript Search in Object Array Like SQL By Object Key
本文介绍了搜索的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屋!
查看全文