定位数组用 indexOf() 和 lastIndexOf() 。它们用来检索数组元素,返回指定的元素的索引位置。 JavaScript 最早在 String 中定义了 index() 和 lastIndexOf() 方法, ECMAScript 5 模仿在 Array 中也加入了这两个部分。
array.indexOf(searchElements[,formIndex])
formIndex : 可选参数,用于开始的索引
indexOf() 方法是按升序索引顺序执行搜索,即从左到右进行检索。检索时,会对数组元素与 searchElement 参数值进行全等比较( === )。
var ar = ['ab', 'cd', 'ef', 'ab', 'cd'];
console.log(qr.indexOf('cd') + ''); // 1
console.log(qr.indexOf(cd, 2) + ''); // 4
console.log(qr.indexOf('gh') + ''); // -1
console.log(qr.indexOf('ab', -2) + ''); // 3
lastIndexOf()方法使用全等运算符"==="搜索数组中的项(从最后一项开始向前搜索),并返回匹配项的索引位置,其语法格式如下:
oArray.lastIndexOf(searchElement[,fromIndex])
例如下面的代码,演示了如何使用该方法:
var A_Team = new Array('MarCaller', 'Mary', 'Jody', 'Judy');
// 注意与 indexOf 方法的结果对比
var temp_int = A_Team.lastIndexOf('Jody', 3); // 从索引3向前
console.log(temp_int); // 返回2
temp_int = A_Team.indexOf('Jody', 3); // 从索引3向后
console.log(temp_int); // 返回-1
断言函数接收 3 个参数:元素、索引和数组本身。其中元素是数组中当前搜索的元素,索引是当前 元素的索引,而数组就是正在搜索的数组。断言函数返回真值,表示是否匹配。
find()和 findIndex()方法使用了断言函数。这两个方法都从数组的最小索引开始。 find()返回 第一个匹配的元素, findIndex()返回第一个匹配元素的索引。这两个方法也都接收第二个可选的参数, 用于指定断言函数内部 this 的值。
`