创建长度为length的数组;用fill来填充,默认为0;当fill为数值时可以指定步长step,即比上一元素多多少
注意区别于原生Array,如Array.isArray(),Array.from()等
不改变原数组,返回去重后的数组。
原生sort的重写,直接改变原数组顺序。
A. 无表达式exp时同原生sort
B. 把exp作为对象获取路径来取得值,根据取到的值来排序。前面加个负号-
可以反序排序。
C. 如果exp包含$a
和$b
字样则把上一个元素$a
与当前元素$b
传给表达式,由exp的执行结果来排序
D. 如果表达式exp是个数组,则先取出exp的第一个表达式来排序,如果比较结果为0(即相等)就继续取下一个表达式继续排序。每个表达式可以是B
那样带有负号-
的路径,也可以是C
那样包含$a
和$b
的表达式。
如果想把空值(””, undefined, null)排在后面,可以再传入一个布尔参数。A
是第一个参数,C
由exp控制而无效。
原生forEach的重写。
把当前循环的元素$x
、下标$i
、上层数据$p
传给表达式exp。
特殊地,forEach()和excs()里可以使用break()函数终止循环。注:break()不能终止forEachA()。
异步执行;A是Aasync(异步)的首字母。参考异步函数
原生map的重写。同上
原生filter的重写。同上
原生find的重写。同上
原生findIndex的重写。同上
原生every的重写。同上
原生some的重写。同上
原生reduce的重写。
把当前循环的元素$x
、下标$i
、上次累加结果$acc
、上层数据$p
传给表达式;用init设定累加器的初始值
更多原生数组函数可参考MDN文档