【发布时间】:2011-06-22 03:42:08
【问题描述】:
我知道如何从数组中删除重复项,但我想要做的是首先防止一个项目被添加到一个数组中,如果它已经存在的话。我在循环中从 xml 提要中提取数据,我认为搜索该值索引会起作用,但无论如何,索引始终为 -1。这是我的代码:
var yearArr:Array = new Array();
for (var i=0;i<numCovers;i++){
var coverRef = xmlObj.cover[i];
var coverClip:MovieClip = new MovieClip();
coverClip.year = coverRef.@year;
if (yearArr.indexOf(coverClip.year === -1)){
yearArr.push (coverClip.year);
}
}
也许我误解了 indexOf 函数,但我认为如果数组中不存在值,它应该返回 -1。我做错了什么?
【问题讨论】:
-
用
indexOf函数计算左括号(和右括号)。注意到有什么奇怪的吗? -
这只是一个错误类型 - 无论如何,有效代码都会将年份推送到数组中。不过,我已经编辑了上面的代码,很好。
-
这很奇怪 - 如果你用实际数字代替变量引用,我上面的代码实际上可以工作......
-
yearArr.indexOf(coverClip.year === -1) LOL 想知道他有没有得到它
标签: arrays flash actionscript-3