Includes方法未检测到数组中的现有项目

Dre*_*res -1 javascript

我正在尝试从数组中删除对象,如果该对象已存在于数组中。我知道如何删除对象,但是我正在使用该includes()方法来查找对象是否存在。我似乎无法正常工作。这是一些代码:

const sampleRange = [{from: 500, to: 600}, {from: 700, to: 800}]

const objectFromRange = sampleRange[0]

const objectRange = {from: 500, to: 600}

sampleRange.includes(objectFromRange) => true

sampleRange.includes(objectRange) => false

Run Code Online (Sandbox Code Playgroud)

那么,为什么一个sampleRange.includes出现true而另一个则作为false?他们是同一个对象。

Kol*_*oks 5

这是因为对象变量是对内存中某个位置的引用。这是可行objectFromRangeobjectRange不可行的原因。objectFromRange引用数组中内存中的位置,但objectRange不引用。做你想做的事Array.some()

sampleRange.some((range)=>range.from == 500 && range.to == 600)