2011-10-26 4 views
0

Comment trouver/mettre en correspondance une chaîne dans un tableau?Rechercher une chaîne dans un tableau

Comment puis-je effectuer une recherche dans cette zone?
enter image description here

Si, par exemple les goûts [3] .id était « 99999 » et c'était ce que je voulais chercher ... Comment pourrais-je faire ??

J'ai essayé ceci:

var likes = response.data 
jQuery.inArray(99999, likes) 

Mais sans chance ...

Merci à l'avance.

+0

avez-vous également essayé 'jQuery.inArray (" 99999 ", aime)' –

+0

'likes' semble être un obj' 'json' ect pas un tableau. – Jack

+0

Cela pourrait aider http://stackoverflow.com/questions/4992383/use-jquerys-find-on-json-object – Derek

Répondre

2

inArray ne recherche les objets de haut niveau dans votre tableau, que vous avez besoin de trouver la valeur d'une propriété sur un objet que vous auriez besoin de faire quelque chose comme (non testé) -

var found = false; 
var indexFoundAt = -1; 
jQuery.each(likes,function(index, value) { 
    if (value.id == "99999") { 
    found = true; 
    indexFoundAt = index; 
    return false; 
    } 
}) 
1

Si Je vous ai bien compris, vous devez trouver une chaîne dans un tableau d'objets dans la propriété id de chaque objet.

Alors, voici ce que je suggère

function findId(id_needed) 
{ 
    var found = 0; 
    var arrayResult = [] 
    var likes = [] //your array of objects ofcaurse should be filled some how 

    for(var i = 0;i<likes.length;i++) 
    { 
    if(likes[i].id==id_needed) 
    { 
     arrayResult[arrayResult.length]=likes[i]; 
     found +=1; 
    } 
    } 
    return {Found : ((found>0)?(true):(false)),Result : arrayResult} 
} 

cette fonction retourne un objet avec 2 propriétés

  1. Trouvé - [true/false]
  2. Résultat - tableau d'objets avec ids nécessaires
Questions connexes