2011-11-25 5 views
0

Je veux être en mesure de passer un tableau (même un tableau d'objets jQuery) et faire une recherche simple basée sur un seul membre de données.Recherche efficace dans jQuery

Il faudrait un tableau à rechercher, une chaîne pour le membre de données et la valeur à rechercher.

Ceci est évidemment facile à écrire moi-même, mais j'étais curieux de savoir si jQuery avait quelque chose de intégré pour le faire déjà?

Merci SO!

+0

cela dépend ce que vous entendez par "même un tableau d'objets jQuery". jquery a certainement une méthode pour rechercher des tableaux, jQuery.inArray() mais vous devez lui donner un tableau de primitives, et le rechercher pour une valeur particulière. – Sinetheta

+0

Comment l'écrivez-vous? –

Répondre

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]; 
    } 
}); 

Voici un jsFiddle: http://jsfiddle.net/jasper/PupuZ/

+0

C'est un moyen. Pourquoi pensez-vous que c'est le plus efficace (puisque c'est ce que demande la question)? –

+0

C'est exactement ce que j'utilise actuellement. Serait également agréable de passer un opérateur comparsion ou quelque chose aussi bien. Semble assez efficace pour mes fins. Une recherche de base. – bobber205

Questions connexes