var arr = [1, 3, 4, 5]
Array.prototype.myPush = function() {
for(var i = 0; i < arguments.length; i ++) {
this[this.length] = arguments[i]
}
return this.length
}
arr.myPush(1,34,5)
pop
var arr = [1, 3, 4, 5]
Array.prototype.myPop = function() {
var num = this[this.length - 1]
this.length --
return num
}
reduce()
Array.prototype.myReduce = function(fn, init) {
var i = 0,
len = this.length,
pre = init
if (pre == undefined) {
pre = this[i]
i ++
}
for(i; i < len; i ++) {
fn(pre, this[i], i)
}
return pre
}
forEach()
Array.prototype.myEach = function(fn) {
console.log(this[0])
var len = this.length
for(var i = 0; i < len; i ++) {
fn(this[i], i, this)
}
}
filter()
Array.prototype.myFilter = function(fn) {
var len = this.length,
newArr = []
for(var i = 0; i < len; i ++) {
if(fn(this[i], i)) {
newArr.push(this[i])
}
}
return newArr
}