Hàm shift() trong JavaScript
Trần Thị Vân
- 1047
- 22/08/2025
Chức năng của Hàm shift() trong JavaScript
Hàm shift() trong JavaScript dùng để xóa phần tử đầu tiên của một mảng, đồng thời cập nhật lại các khóa(key) cho các phần tử, sau khi xóa xong cũng trả về giá trị vừa xóa.
Cú pháp của Hàm shift() trong JavaScript
mang.shift();
mang: Mảng cần xóa phần tử đầu tiên.
Code Hàm shift() trong JavaScript
<script>
var mang = new Array("Hạ","Vân","Lực","Quỳnh","Dung");
// mang.shift() xóa phần tử đầu tiên trong mảng
document.write("Phần tử bị xóa là: "+mang.shift()+"<br>");
// Vòng lặp xem các phần tử còn lại trong mảng
mang.forEach((value, key) => {
document.write("Vị trí "+key+": "+value+"<br>");
});
</script>
Kết quả:
Phần tử bị xóa là: Hạ
Vị trí 0: Vân
Vị trí 1: Lực
Vị trí 2: Quỳnh
Vị trí 3: Dung
Ứng dụng hàm shift() trong xử lý mảng JavaScript
shift() phù hợp khi cần lấy phần tử đầu tiên của mảng và đồng thời loại phần tử đó khỏi mảng. Trong thực tế, phương thức này thường xuất hiện ở các bài toán xử lý danh sách theo thứ tự, nơi phần tử được thêm vào trước cần được lấy ra trước.
Xử lý danh sách theo thứ tự phần tử
Một cách ứng dụng dễ hiểu là dùng shift() để lấy lần lượt từng phần tử từ đầu danh sách. Mỗi lần gọi phương thức, phần tử đầu tiên được trả về và mảng tiếp tục thay đổi, nhờ đó có thể xử lý dữ liệu theo đúng thứ tự ban đầu.
const tasks = ["Đọc tài liệu", "Viết mã", "Kiểm tra lỗi"];
while (tasks.length > 0) {
const task = tasks.shift();
console.log(task);
}
Cách làm này hữu ích với các danh sách cần xử lý tuần tự. Tuy nhiên, vì shift() làm thay đổi mảng gốc nên nên sử dụng khi việc loại bỏ phần tử đầu là một phần chủ đích của quy trình.
Kết hợp shift() với các phương thức mảng khác
shift() có thể kết hợp với các phương thức mảng khác để xây dựng quy trình xử lý dữ liệu linh hoạt hơn. Chẳng hạn, có thể dùng filter() để loại dữ liệu không cần thiết trước, sau đó dùng shift() để lấy từng phần tử còn lại.
const numbers = [10, 15, 20, 25, 30];
const validNumbers = numbers.filter(number => number >= 20);
const firstNumber = validNumbers.shift();
console.log(firstNumber);
console.log(validNumbers);
Điểm cần chú ý là các phương thức được kết hợp có thể tác động lên những mảng khác nhau. Trong ví dụ trên, filter() tạo ra một mảng mới nên thao tác shift() không làm thay đổi mảng numbers ban đầu.
Kiểm tra mảng trước khi sử dụng shift()
Nếu mảng không có phần tử, shift() sẽ trả về undefined. Vì vậy, khi dữ liệu có thể rỗng, nên kiểm tra trước khi xử lý kết quả để tránh đưa giá trị không mong muốn vào các bước tiếp theo.
const users = [];
if (users.length > 0) {
const firstUser = users.shift();
console.log(firstUser);
} else {
console.log("Danh sách không có dữ liệu");
}
Việc kiểm tra này đặc biệt hữu ích khi mảng được tạo từ dữ liệu bên ngoài hoặc thay đổi trong quá trình chương trình chạy. Nó giúp logic xử lý rõ ràng hơn và tránh phải xử lý một kết quả undefined ở những đoạn mã phía sau.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm shift() 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 *