/* 手寫push原始碼實現
1.在陣列的末尾新增
2.可以一次新增多項不同型別的資料
3.返回陣列的長度
*/const array = [1, 2, 3, 4]
// console.log(array.push(5,6,7))
// console.dir(array)
array.prototype.mypush = function ()
return this.length
}console.log(array.mypush(5,6,7,)) // 8
console.dir(array) // [ 1, 2, 3, 4, 5, 6, 7, ]
/* 手寫pop原始碼實現
1.去除陣列末尾項
2.返回去除的陣列項
*/const array = [1, 2, 3, 4]
array.prototype.mypop = function ()
console.log(array.mypop(), array) // 4 [ 1, 2, 3 ]
console.log(array.mypop(), array) // 3 [ 1, 2 ]
/* 手寫unshift原始碼實現
1.在陣列的開頭新增
2.可以一次新增多項不同型別的資料
3.返回陣列的長度
*/const array = [1, 2, 3, 4]
array.prototype.myunshift = function ()
return this.length
}console.log(array.myunshift(, 2, 3), array) // 7 [ , 2, 3, 1, 2, 3, 4 ]
/* 手寫shift原始碼實現
1.去除陣列首項
2.返回去除的陣列項
*/const array = [1, 2, 3, 4]
array.prototype.myshift = function ()
for (let i = 0; i < newary.length; i++)
this.length--
return item
}console.log(array.myshift(), array) // 1 [ 2, 3, 4 ]
/* 手寫myreduce原始碼實現
*/const array = [1, 2, 3, 4]
array.prototype.myreduce = function (fn, initstate) )
return init
}let sum = array.myreduce((pre, current) => , 0)
console.log(sum) // 10
/* 手寫myreduce原始碼實現
*/array.prototype.myreduce = function (fn, initstate) else
} return initstate
}
/**
*手寫foreach**/
array.prototype.myforeach = function (fn)
}
/**
* 手寫map
*/array.prototype.mymap = function (fn)
return arr
}
// 改變原陣列
array.prototype.myreverse = function ()
return this;
}
array.prototype.myfilter = function (fn, obj)
return arr;
}
array.prototype.myevery = function (fn)
}return flag;
}
持續更新中。。。 js方法原始碼
去除html標籤 function removehtmltag str ie8相容placeholder標籤 不能輸入以0開頭的正數且不能輸入0,否則返回空字串 input name helpclass.seq keyup function else ps 不能輸入以0開頭的正整數但是可以輸入0的正...
js陣列常用方法相容實現
js的陣列提供了很多簡便的操作方法。如foreach,map,every,some,filter,reduce。這些方法極大的簡化了陣列的操作,甚至將一些類陣列資料,如dom元素,通過es6的 解構或者.slice.call xx 轉成陣列後,也可以方便的使用。但是,這幾個方法是從ie9才支援的,如...
js陣列常用方法
push 向陣列的末尾增加一項 返回值是陣列的新長度 unshift 向陣列開頭增加一項 返回值是陣列的新長度 pop 刪除陣列的末尾項 返回值是刪除的陣列項 shift 刪除陣列開頭項 返回被刪除的開頭專案 splice 刪除陣列中的任意項 返回值是被刪除的陣列項 slice 複製陣列 返回值是複...