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

ลบตัวเลขออกจากอาร์เรย์และเลื่อนตัวเลขที่เหลือ JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขเป็นอาร์กิวเมนต์แรกและตัวเลขเป็นอาร์กิวเมนต์ที่สอง

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

หากมีตัวเลขมากกว่าหนึ่งตัวในอาร์เรย์ เราควรลบอันแรกออก

ตัวอย่างเช่น −

หากอาร์เรย์อินพุตเป็น −

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

จากนั้นอาร์เรย์ควรกลายเป็น −

const output = [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];
      arr[index + 1] = arr[index] - arr[index + 1];
      arr[index] = arr[index] - arr[index + 1]; ++index;
   };
   arr.pop();
};
removeElement(arr, num);
console.log(arr);

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

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