Miêu tả

Phương thức array lastIndexOf() trong Javascript trả về chỉ mục cuối cùng tại đó một phần tử có thể được tìm thấy trong mảng, hoặc -1 nếu không có mặt. Mảng này được tìm kiếm về sau, bắt đầu từ fromIndex.

Cú pháp

Cú pháp của nó như sau:

array.lastIndexOf(searchElement[, fromIndex]);

Chi tiết về tham số

  • searchElement − Phần tử để xác định vị trí trong mảng.

  • fromIndex − Chỉ mục tại đó bắt đầu tìm kiếm về sau. Mặc định là độ dài mảng, ví dụ: toàn bộ mảng được tìm kiếm. Nếu chỉ mục lớn hơn hoặc bằng độ dài mảng, thì cả mảng đó sẽ được tìm kiếm.

Trả về giá trị

Trả về chỉ mục tại đó phần tử được tìm thấy cuối cùng.

Khả năng tương thích

Phương thức này là một phần JavaScript bổ sung tới chuẩn ECMA-262. Để khiến nó làm việc, bạn thêm code sau vào phần trên cùng của script của bạn.

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;
   };
}

Ví dụ

Bạn thử ví dụ sau

<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>

Kết quả

index is : 2
index is : 5  

Các bài học JavaScript khác tại s2sontech:




Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Learning English Everyday