รับอาร์เรย์ 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 ]