2016-01-13 32 views
-1

我有json文件,surname有1個值,first_name在數組中有2個valuse,而其他對象只有1個數值。 我將如何獲得Jhon和Jason?在json中的關聯數組中循環jquery並獲得數組值

這裏是我的JSON文件

[{ 
    "surname": "Vlad", 
    "first_name": [ 
     "Jhon", 
     "Jason" 
    ], 
    "age": 25, 

}, 
{ 
    "surname": "Vlad", 
    "first_name": [ 
     "Jhon", 
    ], 
    "age": 25, 

}, 
{ 
    "surname": "Vlad", 
    "first_name": [ 
     "Jhon", 
     "Jason" 
    ], 
    "age": 25, 

} 
] 

這裏是我的jQuery/javascript代碼

$.each(data, function (key, val){ 
     var getNameValue = val.first_name; 
     if(getNameValue == getFirstName){ 
      alert(getNameValue); 
     } 

    }); 

getFirstName 

是從搜索文本框來輸入姓氏或first_names。

當我搜索單詞「Jhon」時,我只能得到在first_name中沒有任何數組的數組[1]。

我想要得到它們全部索引(0 1 2)當我搜索單詞「Jhon」時。

回答

0

數組[1]內部有一個數組,它只是鬆散的比較,使得它以您期望的方式進行評估。另外,如果該數組中沒有其他元素,則不需要元素後面的逗號。您可以使用Array.indexOf("nameYouAreLookingFor"),其中Array是保存陣列的變量。如果它不在數組中,這將返回-1。

-1
$.each(data, function(i, item) { 
    var firstNames = item.first_name; 
    if ($.inArray(getFirstName, firstNames) != -1) { 
     alert(getFirstName); 
    }; 
}); 
+0

不工作,它顯示我的數組中的所有對象,只有相同的值 –