javaScript 重写unshift()方法
程序员文章站
2023-12-22 21:48:34
...
Array.prototype.unshift()是数组原型中的非静态方法,用于在数组开头插入一个或多个元素,并且返回数组长度,参数是要插入的值.并且原值是要改变的
在了解本来的功能之后就可以开始重写了
//将重写的方法添加到原型当中
Array.prototype.myUnshift = function() {
//这里我们从后往前遍历,因为是在数组前面添加元素,这样就不会丢失数据,长度是原来数组的长度加上要添加的元素个数
for (var i = this.length + arguments.length - 1; i >= 0; i--) {
//因为要改变原值 所以使用if-else 让原来的数组往后推arguments.length个位置
if (i > arguments.length - 1) {
this[i] = this[i - arguments.length];
} else {
//这里再前面直接赋值要添加的元素即可
this[i] = arguments[i];
}
}
//这里并没有返回数组长度而是直接返回了数组
return this;
// console.log(typeof copy);
}
//定义一个数组
var a = [1, 2, 3, 4, 5, 6];
//声明一个变量接受返回值
var result = a.myShift(0, 12);
//进行对比
console.log(a);
console.log(result);
这样就完成了unshift()方法的重写
推荐阅读
-
javaScript 重写unshift()方法
-
javascript无刷新评论实现方法_javascript技巧
-
重写原生javascript toFixed方法
-
javascript同步Import,同步调用外部js的方法_javascript技巧
-
让JavaScript和其它资源并发下载的方法_javascript技巧
-
JavaScript检测上传文件大小的方法_javascript技巧
-
JavaScript动态修改弹出窗口大小的方法_javascript技巧
-
web基于浏览器的本地存储方法应用_javascript技巧
-
js中传递特殊字符(+,&)的方法_javascript技巧
-
用于deeplink的js方法(判断手机是否安装app)_javascript技巧