【js】indexOf()

本文详细介绍了JavaScript数组中的indexOf()和lastIndexOf()方法的使用方式及其区别。indexOf()方法从数组开头向后查找指定元素的位置,而lastIndexOf()方法则从数组末尾向前查找。文章通过实例展示了如何使用这些方法,并解释了当查找对象引用时可能出现的特殊情况。
/**
**位置方法indexOf()和lastIndexOf()
**这两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引
**indexOf()方法从数组的开头(位置0)开始向后查找
**lastIndexOf()方法则从数组的末尾开始向前查找。
**这两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回-1
**/
var numbers = [1,2,3,4,5,4,3,2,1];
alert(numbers.indexOf(4)); //3
alert(numbers.lastIndexOf(4)); //5
alert(numbers.indexOf(4, 4)); //5
alert(numbers.lastIndexOf(4, 4)); //3
var person = { name: "Nicholas" };
var people = [{ name: "Nicholas" }];
var morePeople = [person];
alert(people.indexOf(person)); //-1
alert(morePeople.indexOf(person)); //0

这个例子中让人难以理解的可能是最后一个两行的输出。我就按照我的理解来解释一下:

person中存放的是对象的引用,该引用指向的是{name:"Nicholas"},而people中的{name:"Nicholas"}对象和person指向的是不同的物理地址,所以他们是不相同的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值