数组函数

array(长度, 初始值, 步长)

数组构造器。创建指定长度的数组;用填充物填充,默认为0;当初始值为数值时可以指定步长,即比上一元素多多少
注意区别于原生Array,如Array.isArray(),Array.from()等

数组.unique()

去重。不改变原数组,返回去重后的数组。

数组.for(表达式)

对数组进行for循环同步执行。表达式执行环境有当前循环的元素$x、下标$i、上层数据$p

break()终止循环

for()excs()里可以使用break()函数终止循环。break()也只能终止这两个函数。

数组.forEach(表达式)

原生forEach的重写,异步执行。也是对数组进行循环,但不等待异步函数的执行结果。

数组.map(表达式)

原生map的重写。

数组.filter(表达式)

原生filter的重写。

数组.find(表达式)

原生find的重写。

数组.findIndex(表达式)

原生findIndex的重写。

数组.findLastIndex(表达式)

原生findLastIndex的重写。

数组.every(表达式)

原生every的重写。

数组.some(表达式)

原生some的重写。

数组.reduce(表达式, 初始值)

原生reduce的重写。
把当前循环的元素$x、下标$i、上次累加结果$acc、上层数据$p传给表达式;初始值默认为0。

数组.sort(表达式)

原生sort的重写,直接改变原数组顺序。
A. 无表达式时同原生sort
B. 把表达式作为对象获取路径来取得值,根据取到的值来排序。前面加个负号-可以反序排序。
C. 如果表达式包含$a$b字样则把上一个元素$a与当前元素$b传给表达式,由表达式的执行结果来排序
D. 如果表达式表达式是个数组,则先取出表达式的第一个项来排序,如果比较结果为0(即相等)就继续取下一个表达式继续排序。每个表达式可以是B那样带有负号-的路径,也可以是C那样包含$a$b的表达式。

如果想把空值(" ", undefined, null)排在后面,可以再传入一个布尔参数。A是第一个参数,C由表达式控制而无效。

更多原生数组函数可参考MDN文档

除了sort(),每个函数里的表达式执行环境都有$x$i$p,而reduce()还有$acc

只有for()循环是同步执行的,即只有for里面的表达式才会等待异步函数/耗时任务(网络请求/数据库操作等)的执行结果,其它数组函数都是异步

由众触低代码平台生成和驱动