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

การลบเนกาทีฟออกจากอาร์เรย์ใน JavaScript


รับอาร์เรย์ arr ของหลายค่า ตัวอย่างเช่น −

[-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 ]