我有用户对象,它有一些我从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...
我错过了什么吗?
答案 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);
});
});