1、关于函数参数——ES6新特性rest
rest以类似数组的方式将函数的参数保存下来
function eleDis(...rest) { for (var i=0;i<rest.length;i++) { alert(rest[i]); } } eleDis(1,2,[3,4,5]);
eleDis函数会打印出每个实参的值。
对js而言,它是允许传入任意个参数的,即使调用的实参比形参的数量还多
2、高阶函数
即可以接收一个函数作为它的参数的函数
常用的有map、reduce、filter、sort
map:我理解就是对一个数组中每个元素做操作,比如:
var str = [1,2,3]; var strNew = str.map( (x)=>{ return ++x; } ) alert(strNew)
reduce:接收两个参数,做累计运算,比如:
var str = [1,2,3]; var strNew = str.reduce( (x,y)=>{ return x+y; } ) alert(strNew)
上面这个函数就可以完成对数组的累加
filter:过滤掉数组中你不想保留的元素,其中根据返回值时true还是false决定元素的去留,比如:
var str = [1,2,3]; var strNew = str.filter( (x)=>{ return x%2==0; } ) alert(strNew)
上面的代码可以实现保留数组中的偶数
sort:对数组元素进行排序,比如:
var str = [71,9,0,12,106.23]; var strNew = str.sort( (x,y)=>{ if (x>y) return 1; else if (x==y) return 0; else return -1; } ) alert(strNew)
其实就是根据自定义的比较规则来排序———前面元素和后面元素比较返回为-1
原文地址:https://www.cnblogs.com/hhssqq9999/p/8858711.html
时间: 2024-11-13 00:22:43