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