【问题标题】:Removing the first element in an array without using array methods在不使用数组方法的情况下删除数组中的第一个元素
【发布时间】:2021-12-28 13:42:10
【问题描述】:
所以我有作业要求我从这样的数组中出列:
let arr = [1, 2, 3]
我唯一的问题是我被限制使用除 .length 方法之外的任何数组方法。
我尝试使用 delete 删除第一个元素,但我知道它不会调整数组并反映第一个元素的未定义:
function dequeue(){
delete arr[0];
console.log(arr)
}
非常感谢任何有关如何操作的帮助或建议。
【问题讨论】:
标签:
javascript
arrays
queue
【解决方案1】:
您可以使用解构赋值。
试试这个:
const [firstElement, ...restOfTheArray] = yourArray;
restOfTheArray 是删除了第一个元素的同一个数组。
【解决方案2】:
如果在您的情况下允许使用 .map。
array = array.map((elm,index,arr) => arr[index+1]);
array.length--;
【解决方案3】:
假设您仍然可以使用带索引的赋值,您可以将所有项目复制到前一个索引并减少数组的长度。
let array = [1, 2, 3];
for (let i = 1; i < array.length; i++) array[i - 1] = array[i];
array.length--;
console.log(array);