数组重构的方法--pop(),push(),shift(),unshift()
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() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
//shiftArray.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并赋值给ii = 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//返回新的长度
文章图片
【数组重构的方法--pop(),push(),shift(),unshift()】完事了。。。。。。
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量