前言
了解过原型和原型链之后,就对之前学过的一些方法该如何实现,以及方法的原理构造
pop方法
使用方法:arr.pop();
作用:用于从数组的末尾删除一个元素。它通过删除数组的最后一个元素来工作
分析实现原理::删除最后一个值可以直接减少数组的长度直接解决
Array.prototype.pops = function(){
this.length = this.length-1;
}
var arr = [11,22,33];
arr.pops();
console.log(arr);//打印[11,22]
push方法 添加最后一个
使用方法::arr.push(“值”);
作用:用于将一个或多个元素添加到数组的末尾。它通过在数组的末尾添加新元素来工作
分析实现原理:其实和pop方法的原理差不多,由于是添加在最后,就直接给数组加一个长度,将传入的值添加到这个数组对应的下标
Array.prototype.pushs = function(user){
this[this.length] = user
}
var arr = [11,22,33];
console.log(arr.pushs(44));//打印[11,22,33,44]
shfit方法
使用方法:arr.shfit();
作用:用于从数组的开头删除一个元素。它通过删除数组的第一个元素来工作
分析实现原理:从目的出发,我们要删除第一个元素,可以利用循环用下一个下标的值替换掉前一个下标的值,但是替换完之后就会有一个问题,最后一个值为空,但是还存在,我们直接利用减少数组长度达到目的
Array.prototype.shifts = function(){
for(var i=0;i<this.length-1;i++){
this[i] = this[i+1];
}
this.length = this.length-1;
}
var arr = [11,22,33];
arr.shifts();
console.log(arr);//[22,33]
unshift方法
使用方法:arr.unshift(“值”);
作用:用于将一个或多个元素添加到数组的开头。它通过在数组的开头添加新元素来工作
分析实现原理:我们需要添加一个值,我认为第一件事就是需要将自身数组长度增加,然后就是考虑怎么将传入的值加入到第一位,我的想法就是利用循环将整体数组的值往后移动,将数组下标[0]空出来,并将传入的值赋值给下标[0]达到效果
Array.prototype.unshifts = function(user){
this.length = this.length+1;
for(var i=this.length-1;i>=0;i--){
this[i] = this[i-1];
}
this[0] = user;
}
var arr = [11,22,33];
arr.unshifts(44);
console.log(arr);