【发布时间】:2017-08-03 19:02:25
【问题描述】:
我试图在将object 推入数组后获取indexOf。
每当 objext 在数组中就绪时,这不会返回与 indexOf 相同的值。
场景
var arr = [];
setInterval(function() {
var path = { one: "f00"};
if (typeof path !== "undefined") {
if (arr.indexOf(path) === -1) {
console.log("Not Exists!!")
arr.push(path)
} else {
console.log("Exists!!")
}
}
console.log(arr)
}, 2000)
工作方式有什么不同
【问题讨论】:
-
你正在使用 indexOf 中的一个对象,它可能不知道如何比较它们
-
@JohnSmiths 因为您传递的是对该对象的直接引用,而不是另一个具有相同数据的对象
-
@MikeMcCaughan 不,不是,第一个 console.log 返回正确的值“0”,第二个控制台显示 -1
标签: javascript arrays indexof