循环json ung jquery中的关联数组并获取数组值

时间:2016-01-13 14:40:26

标签: javascript jquery arrays json

我有一个json文件,其姓氏有1个值,first_name在数组中有2个valuse,而其他对象在数组中只有1个值。 我怎样才能得到Jhon和Jason?

这是我的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”时,我只得到第一个名字中没有任何数组的数组[1]。

当我搜索“Jhon”这个词时,我希望得到所有索引(0 1 2)。

2 个答案:

答案 0 :(得分:0)

Array [1]里面有一个数组,它只是松散的比较,使它以你期望的方式进行评估。此外,如果该数组中没有其他元素,则您不需要该元素后面的逗号。您可以使用Array.indexOf("nameYouAreLookingFor"),其中Array是保存数组的变量。如果它不在数组中,则返回-1。

答案 1 :(得分:-1)

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