1
pop(): 此方法用来删除数组的左后一个元素并返回删除的元素
// pop()方法重构
Array.prototype.mypop = function() {
var tem = this[this.length - 1]
this.length--;
return tem;
}
var arr = [1, 2, 10, 5, 3];
var num_1 = arr.mypop();
console.log(num_1);
console.log(arr);
2
push()
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
注意: 新元素将添加在数组的末尾。
注意: 此方法改变数组的
var arr = [1, 2, 10, 5, 3];
// push()
Array.prototype.mypush = function() {
for (var i = 0; i < arguments.length; i++) {
this[this.length] = arguments[i];
}
return this.length;
}
var num = arr.mypush(50, 60, 70);
console.log(num);
console.log(arr);
3 shift()
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
注意: 此方法改变数组的长度!
// shift()
Array.prototype.myshift = function() {
var tem = this[0];
for (var i = 0; i < this.length; i++) {
this[i] = this[i + 1];
}
this.length--;
return tem;
}
var arr = [1, 2, 10, 5, 3];
var num_1 = arr.myshift();
console.log(num_1);
console.log(arr);
4 unshift()
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
注意: 该方法将改变数组的数目。
// unshift()
Array.prototype.myunshift = function() {
var sum = this.length + arguments.length;
var ag = arguments.length;
var j;
//方法一
for (i = sum; i > 0; i--) {
if (i > ag) {
this[i - 1] = this[i - 1 - ag];
} else {
this[i - 1] = arguments[i - 1];
}
}
//方法二
// for (j = sum - 1; j > ag; j--) {
// this[j] = this[j - ag];
// }
// if (j == ag) {
// this[j] = this[0];
// }
// for (var i = 0; i < ag; i++) {
// this[i] = arguments[i];
// }
return sum;
}
var arr = [1, 2, 10, 5, 3];
var num_1 = arr.myunshift(50, 30, 60, 70);
console.log(num_1);
console.log(arr);