Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

อัลกอริธึม JavaScript - การลบเนกาทีฟออกจากอาร์เรย์


กำหนดอาร์เรย์ 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 ]