0

我有以下对象:

 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"; 

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

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

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

4

1 回答 1

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);
    }
}
于 2012-05-31T15:53:42.133 回答