不使用数组方法删除数组中的第一个元素

Removing the first element in an array without using array methods

所以我的作业要求我像这样从数组中出队:

let arr = [1, 2, 3]

我唯一的问题是我只能使用除 .length 方法之外的任何数组方法。

我曾尝试使用 delete 删除第一个元素,但我知道它不会调整数组并反映第一个元素未定义:

function dequeue(){
  delete arr[0];
  console.log(arr)
}

非常感谢任何有关如何操作的帮助或建议。

假设您仍然可以使用带索引的赋值,您可以复制一个索引之前的所有项目并减少数组的长度。

let array = [1, 2, 3];

for (let i = 1; i < array.length; i++) array[i - 1] = array[i];

array.length--;

console.log(array);

如果 .map 允许在您的情况下使用。

array = array.map((elm,index,arr) => arr[index+1]);
array.length--;

您可以使用解构赋值。 试试这个:

const [firstElement, ...restOfTheArray] = yourArray;

restOfTheArray 是删除第一个元素的同一个数组。