在javascript数组中提供了两个方法来对数组进行查找,这两个方法分别为indexOf(),lastIndexOf()。 这两个方法都有两个参数,第一个参数为需要查找的项,第二个参数则是查找的起始位置(该值为数组中的位置,也就是从0开始计数,该值包含本身)。
indexOf()
indexOf()是正向查找,根据数组从第一项开始查找一直查找到最后项,如果没有查找到则返回-1,如果查找到了就返回该项基于数组中的位置(也就是从0开始计数)。如:
var values = [5,6,7,8,9,10,11,12,13]; values.indexOf(8); //返回3; 如果要设定其查找的起始位置,如: var values = [5,6,7,8,9,10,11,12,13]; values.indexOf(8,3); //返回3;
上面的代码中,设置查找的起始位置的作用是让查找的位置从第三个开始(不包含之前)向后查询,如果查询到该项则返回该项在数组中的位置。
lastIndexOf()
lastIndexOf()是反向查找,根据数组从最后一项开始查找,一直到第一项。如果没有查找到该项则返回-1,如果查找到该项则返回该项在数组中的位置(也就是从0开始计数),返回的是在数组中正向的位置,而不是在数组中反向的位置。如:
var values = [5,6,7,8,9,10,11,12,13]; values.lastIndexOf(8); //返回3; 如果要设定其查找的起始位置,如: var values = [5,6,7,8,9,10,11,12,13]; values.lastIndexOf(8,3); //返回3;
上面代码中,设置查找的起始位置的作用是让查找位置从第三个开始向前查询,如果查询到该项则返回该项在数组中的位置。