กำหนดอาร์เรย์ X ของหลายค่า (เช่น [-3,5,1,3,2,10]) เราจำเป็นต้องเขียนฟังก์ชันที่จะลบค่าลบในอาร์เรย์
เมื่อฟังก์ชันดำเนินการเสร็จสิ้น อาร์เรย์ควรประกอบด้วยตัวเลขบวกเท่านั้น เราจำเป็นต้องทำเช่นนี้โดยไม่ต้องสร้างอาร์เรย์ชั่วคราว และใช้เฉพาะวิธีป๊อปเพื่อลบค่าใดๆ ในอาร์เรย์
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
// strip all negatives off the end while (x.length && x[x.length - 1] < 0) { x.pop(); } for (var i = x.length - 1; i >= 0; i--) { if (x[i] < 0) { // replace this element with the last element (guaranteed to be positive) x[i] = x[x.length - 1]; x.pop(); } }
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -
[ 1, 8, 9 ]