如何在jquery中搜索对象数组

时间:2016-10-12 01:18:38

标签: jquery ajax

我正在使用ajax将这个对象数组返回给我。我正在尝试检查用户电子邮件是否与用户给出的电子邮件匹配,还要查看id是否为空

Array ( [success] => 1 
[data] => Array ( 

[0] => Array ( [id] => 1 [firstName] => Juan [lastName] => Laxague [fullName] => Juan Manuel Laxague [email] => julx@iloud.com )

[1] => Array ( [id] => 3 [firstName] => test [lastName] => test123 [fullName] => test test123 [email] => tes1234@mytst.com )

[2] => Array ( [id] => 4 [firstName] => Mike [lastName] => V [fullName] => Mike V [email] => jar_k@yaoo.com )

))

    $.ajax({
        url: 'https://url,org/api/users/',
        datatype:"json",
        type: "GET",
        headers: {  
            'Content-Type' : 'application/json',
            'Access-Token' : 'CWku8OSq0w'
        },
        success:function(data){
            console.log(data);

            $.each(data, function (i, item) {
              var a = item.email;
              var b = item.id;
                 if (a == "useremail@nn.com" && b != null){
                        alert("success!");
                 }
            });
        },
        error: function(e) {

            console.log(e);

        },
    });
});

如果我item[0],它适用于一个结果。如何检查对象数组中的每个结果?

1 个答案:

答案 0 :(得分:1)

在结果对象(即data)内部,有一个对象,其中包含名为data的属性,其中包含您的实际结果。您可以使用$.each迭代结果,但要确保迭代您关注的实际数组(data["data"]):

success:function(data){
    console.log(data);

    $.each(data["data"], function (i, item) {
      var a = item.email;
      var b = item.id;
         if (a == "useremail@nn.com" && b != null){
                alert("success!");
         }
    });
}

您可以考虑重命名结果变量,以避免混淆您所指的data