หลักการ
Stack ทำงานแบบ LIFO (Last In First Out) ต้อง pop() ทุก elements จาก stack แรก แล้ว push() เข้า stack ที่สอง
ตัวอย่างโค้ด
var myFirstStack=[10,20,30,40,50,60,70];
var mySecondStack=[];
for(;myFirstStack.length;){
mySecondStack.push(myFirstStack.pop());
}
console.log("After popping all elements from first stack=");
console.log(myFirstStack);
console.log("After pushing all elements into second stack=");
console.log(mySecondStack);
วิธีรัน
node fileName.js
ชื่อไฟล์ demo189.js
ผลลัพธ์
PS C:\Users\Amit\javascript-code> node demo189.js After popping all elements from first stack= [] After pushing all elements into second stack= [ 70, 60, 50, 40, 30, 20, 10 ]
คำอธิบาย
for(;myFirstStack.length;) วนลูปจนกว่า array ว่าง (length=0 falsy)pop() ดึง element ตัวสุดท้ายออกจาก myFirstStackpush() ใส่เข้า mySecondStack
ผลลัพธ์: myFirstStack ว่าง mySecondStack เป็น [70,60,50,40,30,20,10] (ลำดับกลับกัน)