我正在尝试从数组中删除对象,如果该对象已存在于数组中。我知道如何删除对象,但是我正在使用该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?他们是同一个对象。
这是因为对象变量是对内存中某个位置的引用。这是可行objectFromRange但objectRange不可行的原因。objectFromRange引用数组中内存中的位置,但objectRange不引用。做你想做的事Array.some()
sampleRange.some((range)=>range.from == 500 && range.to == 600)
| 归档时间: |
|
| 查看次数: |
26 次 |
| 最近记录: |