先说一下我们经常使用的情况
1.字符串中的使用
var yourName='WDL';
yourName.indexOf('D');//1;
yourName.indexOf('L');//2;
yourName.indexOf('1');//-1;
如果有就返回这个字符的位置,我们常用xx.indexOf(‘*’)>=0来判断是否还有某个字符,起始位置是从0开始,如果不含有字符就返回-1;
2.number中的使用
var yourName=1234;
yourName.indexOf(2);////Uncaught TypeError: yourName.indexOf is not a function;
我们需将数字转化为字符串
转化方法如下:
a) yourName.toString().indexOf(2); //1
b) ('' + yourName).indexOf(2); //1
3.数组中的应用
其实我之前都忘了indexOf在数组中的应用,这次整理indexOf也是因为其在数组中的应用。
var arr = ['apple','banana', 'pear'];
arr.indexOf('apple'); //0
arr.indexOf('a'); //-1
arr.indexOf('banana'); //1
下面举个小例子:
//利用indexOf过滤数组中的重复元素
var
r,
arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
r = arr.filter(function (element, index, self) {
//debugger
return self.indexOf(element) === index;
});
r//["apple", "strawberry", "banana", "pear", "orange"]
indexOf的应用场景大概介绍完毕,如有不足望指出