Javascript Array.indexOf不工作

Javascript Array.indexOf不工作,javascript,angularjs,typescript,Javascript,Angularjs,Typescript,我有一个angularJS/Typescript应用程序,我试图检查一个对象是否已经在当前的对象列表中 if (this.selectedFormatData.indexOf(item) === -1) { //doesn't exist so add this.selectedFormatData.push(item); } else { this.selectedFormatData.splic

我有一个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);
        }
我以前使用过这段代码,它可以工作,但在本例中没有。控制台输出表明它应该工作

有什么想法吗

更新:是的,正确的看起来像是重复的对不起。我之前有一段代码,我认为它可以工作,因为它返回的是0而不是-1。但不确定为什么会返回0


作为注释状态,
indexOf()
不用于比较对象。这在这里已经得到了回答:.

什么是“不工作”的确切含义?indexOf与对象不匹配…我不认为index of是用于对象数组的。如果以前已经回答过,请将此问题标记为重复问题,而不是再次回答。对不起,我还没有标记的声誉。我不会再这样做了。