JavaScript Array lastIndexOf ()

Phương thức JavaScript Array lastIndexOf () trả về chỉ mục cuối cùng mà tại đó một phần tử nhất định có thể được tìm thấy trong mảng hoặc -1 nếu nó không có mặt.

Cú pháp của lastIndexOf()phương thức là:

 arr.lastIndexOf(searchElement, fromIndex)

Ở đây, arr là một mảng.

Tham số lastIndexOf ()

Các lastIndexOf()phương pháp có trong:

  • searchElement - Phần tử cần định vị trong mảng.
  • fromIndex (tùy chọn) - Chỉ mục để bắt đầu tìm kiếm ngược. Theo mặc định, nó là array.length - 1 .

Giá trị trả về từ lastIndexOf ()

  • Trả về chỉ số cuối cùng của phần tử trong mảng nếu nó có mặt ít nhất một lần.
  • Trả về -1 nếu phần tử không được tìm thấy trong mảng.

Lưu ý: lastIndexOf() so sánh searchElementvới các phần tử của Mảng bằng cách sử dụng bình đẳng nghiêm ngặt (tương tự như toán tử ba-bằng hoặc ===).

Ví dụ 1: Sử dụng phương thức lastIndexOf ()

 var priceList = (10, 8, 2, 31, 10, 1, 65); // lastIndexOf() returns the last occurance var index1 = priceList.lastIndexOf(31); console.log(index1); // 3 var index2 = priceList.lastIndexOf(10); console.log(index2); // 4 // second argument specifies the backward search's start index var index3 = priceList.lastIndexOf(10, 3); console.log(index3); // 0 // lastIndexOf returns -1 if not found var index4 = priceList.lastIndexOf(69.5); console.log(index4); // -1

Đầu ra

 3 4 0 -1 

Ghi chú:

  • Nếu fromIndex <0 , chỉ số được tính ngược lại. Ví dụ, -1 biểu thị phần tử cuối cùng, v.v.
  • Nếu chỉ số được tính toán tức là array.length + fromIndex <0 , -1 được trả về.

Ví dụ 2: Tìm tất cả các lần xuất hiện của một phần tử

 function findAllIndex(array, element) ( indices = (); var currentIndex = array.lastIndexOf(element); while (currentIndex != -1) ( indices.push(currentIndex); if (currentIndex> 0) ( currentIndex = array.lastIndexOf(element, currentIndex - 1); ) else ( currentIndex = -1; ) ) return indices; ) var priceList = (10, 8, 2, 31, 10, 1, 65, 10); var occurance1 = findAllIndex(priceList, 10); console.log(occurance1); // ( 7, 4, 0 ) var occurance2 = findAllIndex(priceList, 8); console.log(occurance2); // ( 1 ) var occurance3 = findAllIndex(priceList, 9); console.log(occurance3); // ()

Đầu ra

 (7, 4, 0) (1) ()

Ở đây, if (currentIndex> 0)câu lệnh được thêm vào để các lần xuất hiện ở chỉ mục 0 sẽ không cho -1 cho currentIndex - 1. Điều này sẽ dẫn đến việc tìm kiếm từ phía sau một lần nữa và chương trình sẽ bị mắc vào một vòng lặp vô hạn.

Ví dụ 3: Tìm nếu phần tử tồn tại khác Thêm phần tử

 function checkOrAdd(array, element) ( if (array.lastIndexOf(element) === -1) ( array.push(element); console.log("Element not Found! Updated the array."); ) else ( console.log(element + " is already in the array."); ) ) var parts = ("Monitor", "Keyboard", "Mouse", "Speaker"); checkOrAdd(parts, "CPU"); // Element not Found! Updated the array. console.log(parts); // ( 'Monitor', 'Keyboard', 'Mouse', 'Speaker', 'CPU' ) checkOrAdd(parts, "Mouse"); // Mouse is already in the array.

Đầu ra

Không tìm thấy phần tử! Đã cập nhật mảng. ('Màn hình', 'Bàn phím', 'Chuột', 'Loa', 'CPU') Chuột đã có trong mảng.

Bài đọc được đề xuất:

  • Mảng JavaScript
  • JavaScript Array.indexOf ()

thú vị bài viết...