Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Khác biệt shift() và pop() trong JavaScript

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
  • shift chậm hơn pop vì 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)