Hàm lastIndexOf() trong JavaScript
Trần Thị Vân
- 951
- 29/08/2025
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
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
Ứ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
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 *