indexOf是否可以查找数组中的对象
const arr = [{age:'1',name:'2'}, {age:'3', name:'4'}]
arr.indexOf({age:'1',name:'2'})
-1
const obj1 = arr[0]
arr.indexOf(obj1)
0
由上述代码可以知道,其实indexOf查找相同地址的对象,所以对于地址不同的对象是查不到的,如果是和数组内部对象指向同一地址,则可以拿到,否则就拿不到。
对象之间比较
{name:'xm'} !== {name:'xm'}
true
const obj1 = arr[0]
const obj2 = arr[0]
obj1 !== obj2
false
const obj3 = {'age':1, name:'2'}
const obj4 = {'age':1, name:'2'}
obj3 == obj4
false
obj5 = obj3
obj3 == obj5
true
obj3 === obj5
true
对象之间的==和===都是比较的地址,地址不同的对象即使属性完全相同也是返回false。