共计 1359 个字符,预计需要花费 4 分钟才能阅读完成。
pop()
pop() 办法用于删除数组的最初一个元素并返回删除的元素。
//myPop()
// 还得思考当数组为空的状况
Array.prototype.myPop = function ( ) {
// 当传入的数组为空时
if(this.length == ''){return undefined;}else{var result = this[this.length - 1];
this.length--;
return result;
}
}
// 当数组为空时
var arr = []
// var arr = [2,4,4,5,6]; //6 返回最初一个元素 6
// console.log(arr);
var result = arr.myPop();
console.log(result); //undefined
push()
push() 办法可向数组的开端增加一个或多个元素,并返回新的长度。
//myPush()
Array.prototype.myPush = function (params) {for(var i = 0; i < arguments.length;i++){
// 把新增元素放到数组的最初地位
this[this.length] = arguments[i];
}
return this.length;
}
var arr = [1,4,2,9];
console.log(arr);
var result = arr.myPush(1,3,4);
console.log(arr);
console.log(result); //[1, 4, 2, 9, 1, 3, 4]
shift()
shift() 办法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
//shift
Array.prototype.myShift = function (params) {var result = this[0];
for(var i = 0;i < this.length;i++){this[i] = this[i + 1];
}
this.length--;
return result;
}
var arr = [1,4,2,9];
var result = arr.myShift();
console.log(result); // 删除后的元素 1
unshift()
unshift() 办法可向数组的结尾增加一个或更多元素,并返回新的长度。
Array.prototype.myunShift = function (params) {
var sum = this.length + arguments.length;
//sum 就是 8 并赋值给 i i = 8
for(var i = sum; i > 0;i--){if(i > arguments.length){
// 把原数组的元素向后移位
this[i - 1] = this[i - 1 -arguments.length];
}else{
// i 变成传入实参的长度 下标索引 0,1,2,3
this[i - 1] = arguments[i - 1];
}
}
return sum;
}
var arr = [1,4,2,9];
console.log(arr); //
var result = arr.myunShift('a','b','i','o');
console.log(arr); //
// [
// 'a', 'b', 'i', 'o',
// 1, 4, 2, 9
// ]
console.log(result); // 8 // 返回新的长度
完事了。。。。。。
正文完