<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Arr</title> <script> //栈 /*-----------------------------------------------push()---------------------------------------*/ //Array中的push():逐个添加在数组的末尾,返回数组的长度 /* * arr = [1,2,3]; * arr.push(4) * arr = [1,2,3,4]; * arr.length = 4; * */ Array.prototype.yjPush = function () { var arr = this; for(var i = 0;i<arguments.length;i++){ arr[arr.length] = arguments[i]; } return arr.length; }; var arr = [1,2,3]; var val = arr.yjPush("hello",5,"ddd"); console.log(arr); console.log(val); /*-------------------------------------------------pop()-------------------------------------*/ //Array中的pop():从数组的末尾移除最后一项,减少数组的length值,返回移除的项。 /* * arr = [1,2,3]; * arr.pop(); * arr = [1,2]; * */ Array.prototype.yjPop = function () { var remove = this[this.length-1]; this.length = this.length-1; return remove; }; var arr = [1,2,3]; var val = arr.yjPop(); console.log(arr); console.log(val); //队列 /*--------------------------------------------------shift()-----------------------------------*/ //Array中的shift():移除数组中的第一项,并且返回该项,同时将数组的长度减1 /* * arr = [1,2,3]; * arr.shift(); * arr = [2,3]; * */ Array.prototype.yjShift = function () { var remove = this[0]; for(var i = 0;i<this.length;i++){ this[i] = this[i+1]; } this.length = this.length-1; return remove; }; var arr = [1,2,3]; var val = arr.yjShift(); console.log(arr); console.log(val); /*-----------------------------------------------unshift()----------------------------------------*/ //Array中的unshift():在数组的前端添加任意个项,并返回新数组的长度 /* * arr = [1,2,3]; * arr.unshift(4,5); * arr = [4,5,1,2,3]; * */ Array.prototype.yjUnshift = function () { this.length = this.length+arguments.length;//5 for(j = this.length-1;j>arguments.length-1;j--){ this[j] = this[j-2]; } for(var i = 0;i<arguments.length;i++){ this[i] = arguments[i]; } return this.length; }; var arr = [1,2,3]; var val = arr.yjUnshift("hello",5); console.log(arr); console.log(val); </script> </head> <body> </body> </html>
© 著作权归作者所有