2011-11-25 110 views
0

我希望能够传递一个数组(甚至是一个jQuery对象数组)并根据单个数据成员进行简单的搜索。在jQuery中高效搜索

它需要一个数组来搜索数据成员的字符串和要搜索的值。

这显然很容易写出自己,但我很好奇,如果jQuery有内置任何东西来做到这一点?

谢谢!

+0

这取决于你所说的 “即使jQuery的对象的数组” 的意思。 jquery当然有一个搜索数组的方法,jQuery.inArray(),但你必须给它一个基元数组,并搜索它以获得特定的值。 – Sinetheta

+0

你会如何写它? –

回答

1
var arr = [ 
    {key1 : 'value 1-1', key2 : 'value 2-1'}, 
    {key1 : 'value 1-2', key2NOT : 'value 2-2'}, 
    {key1 : 'value 1-3', key2 : 'value 2-3'}, 
    {key1 : 'value 1-4', key2NOT : 'value 2-4'} 
], 
    data_member = 'key2', 
    output  = {}; 

$.each(arr, function (index, obj) { 
    if (data_member in obj) { 
     output[index] = obj[data_member]; 
    } 
}); 

这里是一个的jsfiddle:http://jsfiddle.net/jasper/PupuZ/

+0

这是一种方法。你为什么认为这是最高效的(因为这就是问题所在)? –

+0

这正是我目前使用的。也很高兴通过一个比较运算符或其他东西。看来我的目的足够有效。一个基本的搜索。 – bobber205