不使用数组方法删除数组中的第一个元素
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
是删除第一个元素的同一个数组。
所以我的作业要求我像这样从数组中出队:
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
是删除第一个元素的同一个数组。