如何删除重复项并过滤ArrayCollection中的空白条目?

时间:2014-04-17 00:58:12

标签: actionscript-3 flex duplicate-removal arraycollection

我可以使用以下代码删除重复项。

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

任何建议表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:2)

你错误地设置了括号。 myObject.hasOwnProperty(item.myVariable && item.myVariable != "")等于myObject.hasOwnProperty(true),因为在将表达式传递给函数之前会对其进行求值。你想这样做:

 if (!myObject.hasOwnProperty(item.myVariable) && (item.myVariable != "")) {
    myObject[item.myVariable] = item;
    returnValue = true;
 }