Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ไม่สามารถ Push ทุก Elements ของ Stack เข้า Stack อื่นด้วย For Loop ใน JavaScript

หลักการ

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 ตัวสุดท้ายออกจาก myFirstStack
push() ใส่เข้า mySecondStack
ผลลัพธ์: myFirstStack ว่าง mySecondStack เป็น [70,60,50,40,30,20,10] (ลำดับกลับกัน)