数组重构的方法--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()
文章图片

【数组重构的方法--pop(),push(),shift(),unshift()】完事了。。。。。。

    推荐阅读