从数组中删除数字并转移其余的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
]