shift(): Xóa element ở index 0, dồn các element khác xuống, trả về giá trị bị xóa. Nếu length = 0 trả về undefined.
pop(): Xóa phần tử cuối, trả về giá trị bị xóa. Thay đổi length.
Ví dụ
let fruits = ['apple', 'mango', 'orange', 'kiwi']; let fruits2 = ['apple', 'mango', 'orange', 'kiwi']; console.log(fruits.pop()); // kiwi console.log(fruits2.shift()); // apple console.log(fruits); // ['apple', 'mango', 'orange'] console.log(fruits2); // ['mango', 'orange', 'kiwi']
Kết quả
kiwi apple [ 'apple', 'mango', 'orange' ] [ 'mango', 'orange', 'kiwi' ]
Lưu ý:
- Cả hai mutate original array
shiftchậm hơnpopvì phải shift tất cả element (O(n) vs O(1))- Trả về đều là element bị remove
- Dùng
shift()để implement queue (FIFO),push()/pop()cho stack (LIFO)