如何在jquery中迭代对象以使用每个对象检查用户名?

时间:2015-08-17 06:15:05

标签: jquery

我有用户对象,它有一些我从db检索的值。 我试图迭代用户对象并检查现有用户。

userName是一个变量,我在其中从表单中分配值(这是当前用户要添加的)



var users = [{
  "userName": "amit",
  "password": "amit",
  "roles": "1",
  "status": "0"
}, {
  "userName": "varun",
  "password": "varun",
  "roles": "1",
  "status": "1"
}, {
  "userName": "admin",
  "password": "password",
  "roles": "1",
  "status": "0"
}, {
  "userName": "BigBoss",
  "password": "BigBoss",
  "roles": "1",
  "status": "0"
}, {
  "userName": "Sam",
  "password": "sam",
  "roles": "1",
  "status": "0"
}, {
  "userName": "Sam1",
  "password": "sam1",
  "roles": "1",
  "status": "1"
}, {
  "userName": "Sam2",
  "password": "sam2",
  "roles": "1",
  "status": "1"
}];


function checkExistingUser(users) {
  alert("I am in checkExistingUser");
  console.log(users);
  $(users).each(function(i, e) {

    if (userName == e.userName) {
      alert("User Name allready Exist....")
    } else {
      saveUserData();
    }
  });

}




在迭代这个时,我在控制台上收到错误说:

....value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized ex...

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

在您的代码中,我没有看到任何" userName"声明...

你应该使用jsFiddle来展示一个例子,我检查了你的代码,似乎是"工作" ...检查一下:

var users = [{
  "userName": "Sam",
  "password": "sam",
  "roles": "1",
  "status": "0"
}, {
  "userName": "Sam1",
  "password": "sam1",
  "roles": "1",
  "status": "1"
}, {
  "userName": "Sam2",
  "password": "sam2",
  "roles": "1",
  "status": "1"
}];


function checkExistingUser(users) {
  console.log("I am in checkExistingUser");
  console.log(users);
  var userName = "julos";
  $(users).each(function(i, e) {
    if (userName == e.userName) {
      console.log("User Name allready Exist....")
    } else {
      console.log("ELSE");
    }
  });
}

checkExistingUser(users);

这是一个小提琴,检查控制台...... http://jsfiddle.net/x6vyehvk/1/

希望它有所帮助...

答案 1 :(得分:0)

检查代码示例以通过jquery迭代数组。输出将是:BigBossSam。

您应该使用JQuery.each哪个参数是数组

$(document).ready(function(){
var ary = [{
  "userName": "BigBoss",
  "password": "BigBoss",
  "roles": "1",
  "status": "0"
}, {
  "userName": "Sam",
  "password": "sam",
  "roles": "1",
  "status": "0"
}];
$show = $("#show");

$.each(ary, function(i, v){
    $show.html($show.html() + v.userName);
});
});