คำอธิบาย
ลบค่าติดลบทั้งหมดออกจากอาร์เรย์โดยไม่สร้างอาร์เรย์ชั่วคราว ใช้เฉพาะ pop()
ตัวอย่างโค้ด
// ลบค่าลบที่อยู่ท้ายก่อน
while (x.length && x[x.length - 1] < 0) {
x.pop();
}
for (var i = x.length - 1; i >= 0; i--) {
if (x[i] < 0) {
x[i] = x[x.length - 1]; // แทนที่ด้วยค่าสุดท้าย (ที่แน่ใจว่าบวก)
x.pop();
}
}
ผลลัพธ์
[ 1, 8, 9 ]