Array.indexOf不工作

时间:2015-06-16 12:56:56

标签: javascript angularjs typescript

我有一个angularJS / Typescript应用程序,我试图检查一个对象是否已经存在于当前的对象列表中

     if (this.selectedFormatData.indexOf(item) === -1) {
            //doesn't exist so add
            this.selectedFormatData.push(item);
        } else {
            this.selectedFormatData.splice(this.selectedFormatData.indexOf(item), 1);
        }

我以前使用过此代码并且它有效但不在此实例中。控制台输出表明它应该有用吗?

有什么想法吗?

Console display for objects

更新:是的,正确看起来像重复抱歉。我有一个前面的代码,我认为它工作,因为它返回0而不是-1。不知道为什么它会返回0但

enter image description here

1 个答案:

答案 0 :(得分:0)

正如评论所述,indexOf()并不意味着比较对象。这在此之前已得到解答:Why Array.indexOf doesn't find identical looking objects