js实现shift
实现数组的 shift 方法
JavaScript 中的 shift 方法用于移除数组的第一个元素并返回该元素。以下是几种实现方式:
原生方法
直接使用数组的原生 shift 方法:
const arr = [1, 2, 3];
const firstElement = arr.shift();
console.log(firstElement); // 1
console.log(arr); // [2, 3]
手动实现
通过修改数组长度和重新索引实现:
function customShift(arr) {
if (arr.length === 0) return undefined;
const firstElement = arr[0];
for (let i = 0; i < arr.length - 1; i++) {
arr[i] = arr[i + 1];
}
arr.length = arr.length - 1;
return firstElement;
}
const arr = [1, 2, 3];
console.log(customShift(arr)); // 1
console.log(arr); // [2, 3]
使用 slice 和 splice
结合数组方法实现:

function shiftWithSlice(arr) {
const firstElement = arr[0];
arr.splice(0, 1);
return firstElement;
}
const arr = [1, 2, 3];
console.log(shiftWithSlice(arr)); // 1
console.log(arr); // [2, 3]
性能考虑
原生 shift 方法性能最佳,手动实现适用于特殊场景或学习目的。频繁操作大型数组时需注意时间复杂度为 O(n)。






