Các Stacks và hàng đợi với push(), pop(), shift(), và unshift() Javascript
Các phương thức push() và pop() cho phép bạn làm việc với các mảng như thể chúng là các stacks. Phương thức push()
gắn một hay nhiều hơn các phần tử mới vào cuối mảng và trả về độ dài mới của mảng. Không giống concat(), push()
không làm phẳng các đối số mảng. Phương thức pop() làm điều ngược lại: nó xóa phần tử cuối cùng của một mảng, giảm
1 độ dài mảng, và trả về giá trị cái nó đã loại bỏ. Chú ý rằng cả 2 phương thức điều chỉnh mảng tại chỗ. Kết hợp
của push() và pop() cho phép bạn sử dụng một mảng Javscript để thực thi một first-in, last-out stack. Ví dụ:
let stack = []; // stack == []
stack.push(1,2); // stack == [1,2];
stack.pop(); // stack == [1]; returns 2
stack.push(3); // stack == [1,3]
stack.pop(); // stack == [1]; returns 3
stack.push([4,5]); // stack == [1,[4,5]]
stack.pop() // stack == [1]; returns [4,5]
stack.pop(); // stack == []; returns 1
Phương thức push() không làm phẳng một mảng bạn truyền tới nó, nhưng nếu bạn muốn đẩy tất cả phần tử từ một mảng
lên trên mảng khác, bạn có thể sử dụng toán tử spread (các học phần trước) để làm phẳng nó công khai:
a.push(…values);
