ECMAScript 5 为数组实例添加了两个位置方法:indexOf()和 lastIndexOf()。
- 这两个方法都返回要查找的项在数组中首次出现的位置,在没找到的情况下返回-1。
- 这两个方法都接收 两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,indexOf()方法从数组的开头(位 置 0)开始向后查找,lastIndexOf()方法则从数组的末尾开始向前查找。
- 在比较第一个参数 与数组中的每一项时,会使用全等操作符;也就是说,要求查找的项必须严格相等(就像使用===一样)。
以下是几个例子:
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 people = [{ name: "Nicholas" }];
alert(people.indexOf(person)); // -1
var person = { name: "Nicholas" };
var morePeople = [person];
alert(morePeople.indexOf(person)); // 0