JavaScript shift() loại bỏ phần tử tại vị trí chỉ định và dịch các phần tử còn lại lên. Hàm JavaScript unshift() làm ngược lại. unshift() thêm phần tử mới tại vị trí cụ thể và dịch các phần tử còn lại xuống danh sách.
Bạn quyết định thêm hoặc xóa mục ở đầu danh sách. Giả sử làm danh sách nhân viên bán hàng xuất sắc. Bạn muốn chèn người bán số một ở đầu danh sách.
Đó là nơi hàm JavaScript shift() và unshift() xuất hiện. shift() và unshift() dùng để xóa và thêm mục vào đầu danh sách, tương ứng. Các hàm này tương tự push() và pop(), mặc dù shift() và unshift() chỉ hỗ trợ xóa và thêm mục ở đầu danh sách.
Hướng dẫn khám phá cách dùng shift() và unshift() xóa và thêm mục vào đầu mảng. Thêm vào đó, đi qua ví dụ mỗi hàm trong chương trình JavaScript.
JavaScript shift
shift() là hàm tích hợp JavaScript xóa phần tử đầu tiên từ mảng. Hàm shift() trực tiếp sửa đổi mảng JavaScript bạn làm việc. shift() trả về mục bạn xóa từ mảng.
Hàm shift() xóa mục tại vị trí index 0 và dịch giá trị các index sau xuống một. Nếu khó nhớ mục đích shift(), tự nhủ:
shift() dịch giá trị index trong mảng xuống một.
shift() trả về undefined nếu dùng shift() trên danh sách rỗng.
Cú pháp hàm shift() JavaScript:
array_name.shift()
Hàm mảng shift() không nhận tham số. Vì shift() chỉ thực hiện một chức năng. shift() xóa mục từ cuối mảng. Nếu shift() cho xóa mục tại bất kỳ vị trí, tham số cần thiết.
Ví dụ Shift JavaScript
Đi qua ví dụ giải thích cách shift() hoạt động.
Giả sử bạn quản lý đội bán hàng dược phẩm. Muốn состав danh sách nhân viên bán hàng xuất sắc tháng này. Ban đầu có danh sách tháng trước. Muốn xóa Mark khỏi đầu danh sách. Mark không vào danh sách tháng trước vì nghỉ hai tuần.
Chúng ta dùng shift() xóa tên Mark khỏi đầu danh sách. Ví dụ shift() thêm Heather vào đầu danh sách nhân viên xuất sắc:
let top_salespeople = ['Mark', 'Lucy', 'Graham', 'Carol', 'Ann']; top_salespeople.shift(); console.log(top_salespeople);
Mã trả về:
['Lucy', 'Graham', 'Carol', 'Ann']
Giải thích mã. Dòng đầu khai báo mảng "top_salespeople" lưu nhân viên bán hàng xuất sắc. Sau đó, dùng shift() xóa giá trị đầu tiên. Cuối cùng, dùng console.log() in danh sách sửa đổi.
Như thấy, shift() xóa Mark khỏi danh sách, xuất hiện vị trí đầu.
Mảng top_salespeople không còn chứa Mark. Vì shift() thay đổi mảng gốc. Không tạo mảng mới với sửa đổi.
JavaScript unshift
Hàm mảng unshift() JavaScript thêm một hoặc nhiều phần tử vào đầu mảng. Hàm unshift() thay đổi mảng và trả về độ dài mảng mới.
Cú pháp unshift():
array_name.unshift(item_one, item_two, …)
Hàm unshift() nhận bao nhiêu tham số bạn chỉ định. Tất cả tham số thêm vào đầu mảng.
Ví dụ Unshift JavaScript
Đi qua ví dụ thảo luận unshift() hoạt động.
Nhân viên Hannah tháng tuyệt vời trên đội bán hàng. Cô tiến lên vị trí 1 danh sách xuất sắc. Chúng ta thêm Hannah vị trí 1 mảng top_salespeople. Dùng mã:
let top_salespeople = ['Lucy', 'Graham', 'Carol', 'Ann']; top_salespeople.unshift('Hannah'); console.log(top_salespeople);
Khi chạy mã, phản hồi sau trả về console:
['Hannah', 'Lucy', 'Graham', 'Carol', 'Ann']
Như thấy, tên Hannah thêm vào đầu danh sách. unshift() hoạt động giống shift() nhưng hai khác biệt: unshift() thêm mục vào đầu danh sách, và nhận mục đó làm tham số.
Đội bán hàng mở rộng. Hai nhân viên mới tiến lên đầu đội bán hàng về doanh số chỉ trong một tháng. Chúng ta thêm nhân viên vào danh sách top_salespeople. Geoff xuất hiện đầu, Peter thứ hai.
Mã cập nhật danh sách:
let top_salespeople = ['Hannah', 'Lucy', 'Graham', 'Carol', 'Ann']; top_salespeople.unshift('Geoff', 'Peter'); console.log(top_salespeople);
Mã trả về:
['Geoff', 'Peter', 'Hannah', 'Lucy', 'Graham', 'Carol', 'Ann']
Ví dụ thứ hai hoạt động giống ví dụ đầu. Một khác biệt. Ví dụ thứ hai chỉ định hai tham số trong unshift() thay vì một.
Như thấy, tham số thêm vào đầu danh sách theo thứ tự chỉ định. Geoff đầu, Peter thứ hai.
Kết luận
Hàm shift() cho phép xóa mục từ đầu mảng. Hàm unshift() thêm một hoặc nhiều mục vào đầu mảng.
Hướng dẫn thảo luận cách dùng cả shift() và unshift() thao tác mảng JavaScript. Đi qua bài tập JavaScript mỗi hàm thực tế.