当数组元素是数字或者字符串的时候都可以,要是 object 就不行了
1 回答

绝地无双
TA贡献1946条经验 获得超4个赞
js 中对象是引用类型值,两个对象的比较是引用的内存地址的比较。就像下面的代码:
var obj1={};var obj2={}; obj1===obj2 //false
这两个对象虽然看起来相等,但是引用的是堆内存中不同的对象,所以不相等。
inArray 的实现应该就是遍历数组,把数组的每一项与目标值进行比较,如果相等就返回索引值,不相等就返回 -1,由于上面的原因,两个分别声明的对象引用值并不相等,所以返回 -1。
添加回答
举报
0/150
提交
取消