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

การลบตัวเลขออกจากอาร์เรย์และเลื่อนสมาชิกที่เหลือใน JavaScript (ห้ามใช้ slice/splice)

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ตัวเลขและตัวเลขเป้าหมาย หากตัวเลขเป้าหมายมีอยู่ในอาร์เรย์ ให้ลบตัวแรกที่พบ และเลื่อนสมาชิกทางขวาไปทางซ้ายหนึ่งตำแหน่ง โดยห้ามใช้เมธอดอาร์เรย์อย่าง slice(), splice() ฯลฯ

ตัวอย่าง: อาร์เรย์ [3, 5, 6, 3, 7, 8, 8, 6] และตัวเลข 7 ผลลัพธ์ควรเป็น:

[3, 5, 6, 3, 8, 8, 6]

ตัวอย่างโค้ด

const arr = [3, 5, 6, 3, 7, 8, 8, 6];
const num = 7;

const removeElement = (arr = [], num) => {
  let index = arr.indexOf(num);
  if (index === -1) {
    return;
  }
  while (index + 1 < arr.length) {
    arr[index] = arr[index + 1];
    index++;
  }
  arr.pop();
};

removeElement(arr, num);
console.log(arr);

ผลลัพธ์

ค่าที่แสดงในคอนโซลจะเป็นดังนี้:

[ 3, 5, 6, 3, 8, 8, 6 ]