2016-01-13 104 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

不工作,它显示我的数组中的所有对象,只有相同的值 –