unshift
方法是 JavaScript 中数组的一种方法,该方法的主要用途是在数组的开头添加一个或多个元素,并返回新的数组长度。它的基本语法如下:
javascript
array.unshift(element1, ..., elementX);
element1, ..., elementX
是被添加到数组开头的元素,可以是任何数据类型。以下是一些简单的使用示例:
javascript
let arr = [10, 20, 30, 40];
arr.unshift(0);
console.log(arr); // 输出:[0, 10, 20, 30, 40]
arr.unshift(-20, -10);
console.log(arr); // 输出:[-20, -10, 0, 10, 20, 30, 40]
在了解了unshift
的基础之后,接下来让我们试着自己手写一个unshift
方法。其实unshift
方法可以使用数组的splice
方法来实现。一个简单的实现方式如下:
javascript
// 在Array的原型上定义一个myUnshift方法
Array.prototype.myUnshift = function() {
// 倒序遍历函数的所有参数
for (let i = arguments.length - 1; i >= 0; i--) {
// 将当前参数插入到数组的开始
// this -> 在此处指向的是: 调用myUnshift方法的数组
this.splice(0, 0, arguments[i]);
}
// 返回新的数组长度
return this.length;
}
let arr = [1, 2, 3, 4];
let newLength = arr.myUnshift(-2, -1, 0);
console.log(arr); // 输出:[-2, -1, 0, 1, 2, 3, 4]
console.log(newLength); // 输出:7
这段代码中定义了一个名为 myUnshift
的函数并挂载到了 Array.prototype
上,它的工作方式和原生的 unshift
方法一样可以接受任意数量的参数,在数组的开始位置添加这些参数,并返回新的数组长度。
希望这篇文章对你有所帮助,一起加油!