小结indexOf()、lastIndexOf()位置方法

本文介绍ECMAScript5中新增的数组方法indexOf()和lastIndexOf(),它们用于查找指定元素在数组中的位置。indexOf()从数组开头开始查找,而lastIndexOf()从数组末尾开始查找。若未找到指定元素,则返回-1。

        ECMAScipt5为数组实例添加了两个位置方法:indexOf()和lastIndexOf()。这两个方法的共同点是都接收2个参数:要查找的项和(可选的)表示查找起点位置的索引。不同的是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
     通过这两个方法查找特定项在数组中的位置非常简单。
### JavaScript `indexOf` 和 `lastIndexOf` 方法的用法 #### 使用场景 字符串对象提供了多种用于查找子串的方法,其中两个常用的是 `indexOf` 和 `lastIndexOf`。这两个方法都返回指定值首次出现的位置索引;如果未找到,则返回 `-1`。 #### `indexOf` 方法详解 此方法从左向右搜索给定的子串,并返回其第一次出现处的字符位置[^3]: ```javascript var str = "Hello world"; console.log(str.indexOf("world")); // 输出: 6 ``` 当目标不存在于源字符串内时会得到负数的结果: ```javascript var str = "Hello world"; console.log(str.indexOf("universe")); // 输出: -1 ``` 还可以提供第二个参数来设定开始搜索的位置: ```javascript var str = "Blue Whale"; console.log(str.indexOf('l', 4)); // 输出: 9 (因为是从第四个位置之后找'l') ``` #### `lastIndexOf` 方法详解 该函数同样用来定位某个特定值所在之处,不过它是按照由右至左的方向来进行扫描并给出最后一次匹配项所在的下标: ```javascript var sentence = 'To be or not to be.'; console.log(sentence.lastIndexOf('be')); // 输出: 17 ('be'最后出现的地方) ``` 对于多重复现的情况特别有用: ```javascript var text = "The quick brown fox jumps over the lazy dog."; console.log(text.lastIndexOf("the")); // 输出: 31 (区分大小写) ``` 值得注意的是,在调用这些方法之前创建了一个新的字符串实例: ```javascript var txt = new String("string"); console.log(txt.indexOf("ri")); // 正常工作 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值