0
A
回答
0
鉴于代码;你提供了;我不希望indexOf返回任何东西,但-1;除非在windowAddContact.selectedContacts中拥有多个相同对象的实例;这是可能的,但似乎不太可能。
contacts数组从空开始,所有这些代码都会将项目从一个集合复制到一个数组中。试试这个:
var contacts:Array = new Array();
contacts.add(windowAddContact.selectedContacts[0]);
for each(var i:Object in windowAddContact.selectedContacts) {
if(contacts.indexOf(i) == -1) {
contacts.push(i);
}
}
我敢打赌你会看到indexOf(i)返回一个非-1的东西。不过,我不清楚你想做什么。为什么循环是必要的?难道你不能这样做:
contactList.dataProvider = windowAddContact.selectedContacts;
谢谢你的帮忙。我不能这样做: contactList.dataProvider = windowAddContact.selectedContacts; ,因为我需要在添加之前检查我的dataProvider中的联系人是否已经存在。 indexOf方法不适用于数组联系人。我不知道为什么。我试图创建一个方法进行验证: – Dreyfi 2013-03-19 13:04:24
var contacts:Array = new Array(); 每个(VAR I:在windowAddContact.selectedContacts对象){ 如果(contacts.indexOf(ⅰ)== - 1){ contacts.push(ⅰ); } } contactList.dataProvider = contacts; 公共函数TOADD(OBJ:对象):布尔{ \t \t \t \t 为每个(VAR I1:在接触对象){ \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t (var i2:int = 0; i2
Dreyfi
2013-03-19 13:11:19
很抱歉,如果我被小白太多。我是新的发展。我不知道为什么识别在这篇评论中不起作用。 – Dreyfi 2013-03-19 13:22:22