push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
//push 最后添加一个或多个 返回新数组长度
Array.prototype.myPush=function(){
for(var i=0;i<arguments.length;i++){
// 最后的后一个位置添加
this[this.length]=arguments[i]
}
return this.length
}
var arr=[1,2,3,4,5];
var result=arr.myPush('hello');
// 返回新数组长度
console.log(result);
console.log(arr);
pop() 方法用于删除数组的最后一个元素并返回删除的元素。
// pop删除最后一个 返回删除元素
Array.prototype.myPop = function(){
if(this.length == ''){
return undefined
}else{
//删除最后一个 this.length-1为最后一个
var temp= this[this.length-1];
this.length--;
// 返回删除元素
return temp;
}
}
var arr = [1,2,3,4,5];
var result=arr.myPop();
// 返回删除元素
console.log(result)
// 返回新数组
console.log(arr)
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
// shift 开头删除第一个 返回删除元素
Array.prototype.myShift = function(){
var result=this[0];//从头开始
for(i=0;i<this.length;i++){
this[i]=this[i+1]
}
this.length--;
return result;
}
var arr = [1,2,3,4,5];
var result=arr.myShift();
// 返回删除元素
console.log(result)
// 返回删除后数组
console.log(arr);
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
// unshift 开头增加一个或多个 返回新数组长度
Array.prototype.myUnshift = function(){
var result=this.length+arguments.length;
for(var i=result;i>0;i--){
if(i>arguments.length){
// 原元素后移
this[i-1]=this[i-1-arguments.length];
}else{
// 在开头新元素填空缺
this[i-1]=arguments[i-1];
}
}
return result;
}
var arr = [1,2,3];
var result=arr.myUnshift(33,44,55,'ww');
console.log(result)
console.log(arr);