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

Khác biệt push() và unshift() trong JavaScript

unshift(): Thêm element vào index 0, dồn các element khác lên, trả về length mới.

push(): Thêm element vào cuối mảng, trả về length mới (bài gốc sai: trả về element).

Ví dụ

let fruits = ['apple', 'mango', 'orange', 'kiwi'];
let fruits2 = ['apple', 'mango', 'orange', 'kiwi'];
console.log(fruits.push("pineapple"));   // 5
console.log(fruits2.unshift("pineapple")); // 5
console.log(fruits);   // ['apple', 'mango', 'orange', 'kiwi', 'pineapple']
console.log(fruits2);  // ['pineapple', 'apple', 'mango', 'orange', 'kiwi']

Kết quả

5 5 [ 'apple', 'mango', 'orange', 'kiwi', 'pineapple' ] [ 'pineapple', 'apple', 'mango', 'orange', 'kiwi' ]

Lưu ý:

  • Cả hai mutate original array
  • unshift chậm hơn push vì phải shift tất cả element (O(n) vs O(1) amortized)
  • Trả về đều là length mới của mảng
  • Nhiều argument: push(a, b, c), unshift(a, b, c) thêm lần lượt