Hàm shift() trong JavaScript

Hàm shift() trong JavaScript
Hàm shift() trong JavaScript

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

Chạy Thử

Ứ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
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 shift() 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) !