与Object中的项进行比较

时间:2012-05-31 15:46:46

标签: actionscript-3

我有以下对象:

 var users:Object= new Object();
 users[0]["user_id"] = "1124";
 users[0]["name"] = "ikke";
 users[0]["age"] = "24";
 users[0]["gender"] = "male";

 users[1]["user_id"] = "1318";
 users[1]["name"] = "test";
 users[1]["age"] = "20";
 users[1]["gender"] = "male";

 var selectors:Object = new Object();
 selectors["user_id"] = 1318;
 selectors["gender"] = "male"; 

我想要的是在if语句中使用selectors对象。在人类语言中,它应该是这样的:

for (var index:String in users) {
    If users[index]["gender"] == selectors[gender] && users[index]["user_id"] == "male" -> then trace "success".
}

棘手的部分是选择器对象是动态的。有时它只能包含1个项目,有时只包含3个项目。或者它也可以为null。在这种情况下,它应该总是追踪成功。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

for(var i:int = 0; i < users.length; i++) {
    var success:Boolean = true;

    for(var key:String in selectors) {
        if(users[i][key] != selectors[key]) {
             success = false;
             break;
        }
    }

    if(success) {
        trace('success for user ' + i);
    }
}