Hàm lastIndexOf() trong JavaScript

Hàm lastIndexOf() trong JavaScript
Hàm lastIndexOf() trong JavaScript

Chức năng của Hàm lastIndexOf() trong JavaScript

Hàm lastIndexOf() trong JavaScript dùng để tìm vị trí cuối cùng xuất hiện của phần tử cần tìm trong mảng hoặc chuỗi con trong chuỗi lớn, nếu tìm mà không có thì sẽ trả về -1.

Cú pháp của Hàm lastIndexOf() trong JavaScript

Hàm lastIndexOf() xử lý mảng

mang.lastIndexOf(giatri);

mang: Mảng.

giatri: Giá trị của phần tử cần kiểm tra.

mang.lastIndexOf(giatri,vitriketthuc);

mang: Mảng.

giatri: Giá trị của phần tử cần kiểm tra.

vitriketthuc: Vị trí kết thúc tìm, tìm từ phần tử thứ 0 tới phần tử ở vị trí kết thúc.

Hàm lastIndexOf() xử lý chuỗi

chuoigoc.lastIndexOf("chuoicon");

chuoicon: Chuỗi con cần kiểm tra.

chuoigoc: Chuỗi gốc.

chuoigoc.lastIndexOf("chuoicon",vitriketthuc);

chuoicon: Chuỗi con cần kiểm tra.

chuoigoc: Chuỗi gốc.

vitriketthuc: Vị trí kết thúc tìm, tìm từ ký tự thứ 0 tới ký tự ở vị trí kết thúc.

Code Hàm lastIndexOf() trong JavaScript

Hàm lastIndexOf() xử lý mảng trong JavaScript

<script>
// Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, từ vị trí 0 tới 4
document.write("<b>Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, từ vị trí 0 tới 4</b><br>");
var mang  = [10,20,45,35,45,30];
document.write(mang.lastIndexOf(45,4)+"<br>"); // Kết quả: 4

// Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, từ vị trí 0 tới 2
document.write("<b>Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, từ vị trí 0 tới 2</b><br>");
var mang  = [10,20,45,35,45,30];
document.write(mang.lastIndexOf(45,2)+"<br>"); // Kết quả: 2

// Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, tìm trong toàn mảng
document.write("<b>Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, tìm trong toàn mảng</b><br>");
var mang  = [10,20,45,35,45,30];
document.write(mang.lastIndexOf(45)+"<br>"); // Kết quả: 4

// Tìm khóa (key) của phần tử cuối cùng có giá trị là 455, tìm trong toàn mảng
document.write("<b>Tìm khóa (key) của phần tử cuối cùng có giá trị là 455, tìm trong toàn mảng</b><br>");
var mang  = [10,20,45,35,45,30];
document.write(mang.lastIndexOf(455)); // Kết quả: -1 vì không tìm thấy phần tử có giá trị 455
</script>

Kết quả:

Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, từ vị trí 0 tới 4
4
Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, từ vị trí 0 tới 2
2
Tìm khóa (key) của phần tử cuối cùng có giá trị là 45, tìm trong toàn mảng
4
Tìm khóa (key) của phần tử cuối cùng có giá trị là 455, tìm trong toàn mảng
-1

Chạy Thử

Hàm lastIndexOf() xử lý chuỗi trong JavaScript

<script>
// Tìm vị trí cuối cùng xuất hiện của từ web, tìm toàn chuỗi
document.write("<b>Tìm vị trí cuối cùng xuất hiện của từ web, tìm toàn chuỗi</b><br>");
var chuoigocba  = "web mới thiết kế web";
document.write(chuoigocba.lastIndexOf("web")+"<br>"); // Kết quả: 17

// Tìm vị trí cuối cùng xuất hiện của từ website, tìm toàn chuỗi
document.write("<b>Tìm vị trí cuối cùng xuất hiện của từ website, tìm toàn chuỗi</b><br>");
var chuoigocba  = "web mới thiết kế web";
document.write(chuoigocba.lastIndexOf("website")+"<br>"); // Kết quả: -1 vì không tìm được chuỗi cần tìm

// Tìm vị trí cuối cùng xuất hiện của từ xinchao, tìm từ vị trí 0 tới 10
document.write("<b>Tìm vị trí cuối cùng xuất hiện của từ xinchao, tìm từ vị trí 0 tới 10</b><br>");
var chuoigocba  = "web mới thiết kế web";
document.write(chuoigocba.lastIndexOf("xinchao",10)+"<br>"); // Kết quả: -1
</script>

Kết quả:

Tìm vị trí cuối cùng xuất hiện của từ web, tìm toàn chuỗi
17
Tìm vị trí cuối cùng xuất hiện của từ website, tìm toàn chuỗi
-1
Tìm vị trí cuối cùng xuất hiện của từ xinchao, tìm từ vị trí 0 tới 10
-1

Chạy Thử

Ứng dụng lastIndexOf trong JavaScript vào thực tế

Phương thức lastIndexOf() phát huy hiệu quả khi cần xác định vị trí xuất hiện cuối cùng của một chuỗi con. Trong thực tế, phương thức này thường được kết hợp với các thao tác cắt chuỗi để xử lý tên tệp, đường dẫn, ký tự phân cách hoặc lấy một phần dữ liệu nằm ở cuối chuỗi.

Tìm phần tử xuất hiện cuối cùng trong chuỗi

Khi một chuỗi chứa cùng một ký tự hoặc từ khóa nhiều lần, lastIndexOf() giúp xác định lần xuất hiện cuối cùng mà không cần tự duyệt qua từng ký tự.

const text = "JavaScript, HTML, JavaScript, CSS";
const position = text.lastIndexOf("JavaScript");

console.log(position);

Kết quả là vị trí bắt đầu của JavaScript xuất hiện gần cuối chuỗi. Cách này phù hợp khi cần tiếp tục xử lý dữ liệu từ vị trí cuối cùng, chẳng hạn tìm đoạn văn bản sau một dấu phân cách hoặc xác định phần tử cuối trong chuỗi được ghép từ nhiều giá trị.

Kiểm tra vị trí dấu phân cách cuối cùng

Các chuỗi dữ liệu thường sử dụng dấu phân cách như dấu phẩy, dấu gạch chéo hoặc dấu chấm. Thay vì tách toàn bộ chuỗi thành một mảng, có thể dùng lastIndexOf() để tìm dấu phân cách cuối cùng và lấy vị trí cần thiết.

const path = "website/javascript/string/lastIndexOf";
const position = path.lastIndexOf("/");

console.log(position);

Giá trị trả về cho biết vị trí của dấu / cuối cùng. Từ đó, JavaScript có thể kết hợp vị trí này với slice() để lấy riêng phần dữ liệu nằm sau dấu phân cách mà không phải xử lý toàn bộ chuỗi.

Kết hợp lastIndexOf với slice để xử lý chuỗi

Điểm hữu ích của lastIndexOf() nằm ở khả năng xác định đúng điểm bắt đầu cho thao tác cắt chuỗi. Khi kết hợp với slice(), có thể lấy nhanh phần nội dung phía sau lần xuất hiện cuối cùng của một ký tự hoặc chuỗi con.

const path = "website/javascript/string/lastIndexOf";
const position = path.lastIndexOf("/");
const result = path.slice(position + 1);

console.log(result);

Kết quả là lastIndexOf. Cách viết này dễ đọc và phù hợp với các trường hợp dữ liệu có cấu trúc ổn định, trong đó phần cần lấy luôn nằm sau dấu phân cách cuối cùng.

Xử lý tên file và phần mở rộng bằng lastIndexOf

Đối với tên tệp, dấu chấm cuối cùng thường dùng để phân tách tên và phần mở rộng. lastIndexOf() có thể xác định vị trí dấu chấm này để lấy phần mở rộng mà không cần tạo thêm mảng trung gian.

const fileName = "tai-lieu-javascript.pdf";
const position = fileName.lastIndexOf(".");
const extension = fileName.slice(position + 1);

console.log(extension);

Cách làm này đặc biệt hữu ích khi xử lý dữ liệu tải lên hoặc phân loại tệp theo phần mở rộng. Tuy nhiên, nếu dữ liệu có thể chứa tên tệp không có dấu chấm, nên kiểm tra kết quả của lastIndexOf() trước khi dùng vị trí đó để cắt chuỗi, vì phương thức sẽ trả về -1 khi không tìm thấy giá trị cần tìm.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm lastIndexOf() trong JavaScript.

  • ★★★★★ ★★★★★
  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm lastIndexOf() trong JavaScript
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !