浅谈includes、indexOf方法

includes()方法返回结果为true或者false

indexOf()方法返回-1或者元素所在数组下标索引

对于简单数据类型,值存在的话includes返回的就是true,indexOf返回的则是所在数组的下标

let arr=[0,2,null]
console.log(arr.indexOf(2)) //返回1(2所在arr下标索引)
console.log(arr.includes(2)) //返回true

对于复杂数据类型

 let student = { name: '张三' }   //student变量存的是一个地址引用
 let stuList1 = [{ name: '张三' }] //stuList1[0]是一个值,是一个匿名对象
 let stuList2= [{ name: '李四' }, student] 
 console.log(stuList1.indexOf(student)) //返回-1
 console.log(stuList2.indexOf(student)) //返回1
 console.log(stuList1.includes(student)) //返回false
 console.log(stuList2.includes(student)) //返回true
 console.log(student === stuList1[0]) //false
 console.log(student.name == stuList1[0].name) //true

猜你喜欢

转载自blog.csdn.net/qq_30596783/article/details/120327984