我可以使用以下代码删除重复项。
private function removeDuplicates(item:Object):Boolean {
var returnValue:Boolean = false;
if (!myObject.hasOwnProperty(item.myVariable)){
myObject[item.myVariable] = item;
returnValue = true;
}
return returnValue;
}
但是当我将以下代码添加到函数中时,该函数不仅无法过滤ArrayCollection中的空白条目,而且也不再删除重复项。
private function removeDuplicates(item:Object):Boolean {
var returnValue:Boolean = false;
if (!myObject.hasOwnProperty(item.myVariable && item.myVariable != "")){
myObject[item.myVariable] = item;
returnValue = true;
}
return returnValue;
}
任何建议表示赞赏。谢谢。
答案 0 :(得分:2)
你错误地设置了括号。 myObject.hasOwnProperty(item.myVariable && item.myVariable != "")
等于myObject.hasOwnProperty(true)
,因为在将表达式传递给函数之前会对其进行求值。你想这样做:
if (!myObject.hasOwnProperty(item.myVariable) && (item.myVariable != "")) {
myObject[item.myVariable] = item;
returnValue = true;
}