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

การลบค่าลบออกจากอาร์เรย์ใน JavaScript

คำอธิบาย

ลบค่าติดลบทั้งหมดออกจากอาร์เรย์โดยไม่สร้างอาร์เรย์ชั่วคราว ใช้เฉพาะ 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 ]