Javascript Array lastIndexOf() 方法

返回 Javascript Array 对象


定义

lastIndexOf()方法返回可以在数组中找到给定元素的最后一个索引,如果不存在,则返回 -1。从fromIndex开始向后搜索数组。

该方法将从尾到头地检索数组中指定元素 item。开始检索的位置在数组的 start 处或数组的结尾(没有指定 start 参数时)。如果找到一个 item,则返回 item 从尾向前检索第一个次出现在数组的位置。数组的索引开始位置是从 0 开始的。

如果在数组中没找到指定元素则返回 -1。

提示: 如果你想查找数组首次出现的位置,请使用 indexOf() 方法。

语法

语法如下

array.lastIndexOf(searchElement[, fromIndex]);

参数

  • searchElement - 要在数组中定位的元素。
  • fromIndex - 开始向后搜索的索引。默认为数组的长度,即将搜索整个数组。如果索引大于或等于数组的长度,则将搜索整个数组。如果为负,则将其视为距数组末尾的偏移量。

返回值

返回从最后一个找到的元素的索引。

浏览器支持

Internet Explorer Firefox Opera Google Chrome Safari

所有主流浏览器都支持 lastIndexOf() 方法。

示例

<html>
   <head>
      <title>JavaScript Array lastIndexOf Method</title>
   </head>
   
   <body>   
      <script type = "text/javascript">
         if (!Array.prototype.lastIndexOf) {
            Array.prototype.lastIndexOf = function(elt /*, from*/) {
               var len = this.length;
               var from = Number(arguments[1]);
               
               if (isNaN(from)) {
                  from = len - 1;
               } else {
                  from = (from < 0)
                  ? Math.ceil(from)
                  : Math.floor(from);
               
                  if (from < 0)
                  from += len;
               
                  else if (from >= len)
                  from = len - 1;
               }
               for (; from > -1; from--) {
                  if (from in this &&
                  this[from] === elt)
                  return from;
               }
               return -1;
            };
         }
         var index = [12, 5, 8, 130, 44].lastIndexOf(8);
         document.write("index is : " + index ); 
      
         var index = [12, 5, 8, 130, 44, 5].lastIndexOf(5);
         document.write("<br />index is : " + index ); 
      </script>      
   </body>
</html>

输出结果

index is : 2
index is : 5  

尝试一下


返回 Javascript Array 对象

查看笔记

扫码一下
查看教程更方便