通用方法
1、push
将一个或多个元素添加到数组的末尾,并返回该数组的新长度
1 | Array.prototype.myPush = function (...items) { |
2、pop
用于删除数组的最后一个元素
返回值->从数组中删除的元素
1 | Array.prototype.myPop = function () { |
3、shift
从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度
1 | Array.prototype.myShift = function () { |
4、unshift
将一个或多个元素添加到数组的开头,并返回该数组的新长度,该方法修改原有数组
1 | Array.prototype.myUnshift = function (...items) { |
遍历方法
1、map
返回一个处理过的新数组
第一个参数:生成新数组元素的函数
第二个参数:执行callback时的this指向
1 | Array.prototype.myMap = function (callback, thisArg) { |
2、forEach
forEach和map类似,唯一区别是forEach是没有返回值的
1 | Array.prototype.myForEach = function (callback, thisArg) { |
3、filter
过滤,filter使用指定的函数测试所有元素,并创建一个包含所有通过测试的新数组
1 | Array.prototype.myFilter = function (fn) { |
4、reduce
reduce方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值
1 | Array.prototype.myReduce = function (reducer, initVal) { |
5、find
find方法返回通过测试(函数内判断)的数组的第一个元素
1 | Array.prototype.myFind = function (fn) { |
6、some
some方法会依次执行数组的每个元素
如果有一个元素满足条件,返回true
如果一个都没有满足,返回false
1 | Array.prototype.mySome = function (fn) { |
7、every
用于检测数组中所有元素是否都符合条件
1 | Array.prototype.myEvery = function (fn) { |