返回符合条件的子元素 内如果判断为true
标签:
JS高阶函数-遍历要领 filter()filter要领查抄数组,删除不匹配的元素,返回一个新数组
filter要领内部传入回调函数,,回调函数要求必需传入数组的value
const arr = [1,2,3,4]; let newArr = arr.filter(function(n){ return n<3; }) console.log(newArr)//1,2map要领遍历并措置惩罚惩罚数组中每个元素,并返回一个新数组
回调函数中传入的值为数组的value
const arr = [1,2,3,4]; let newArr = arr.map(function(n){ return n*2; }) console.log(newArr)//2,4,6,8 forEach()forEach要领为数组每个元素都执行一次回调函数,将元素通报给回调函数。
forEach和map的却别是没有返回值
const arr = [1,2,3,4]; arr.forEach(function(item,index){ let newArr = index+'-'+item*2; console.log(newArr) })reduce要领依次措置惩罚惩罚数组的每个成员,最终累计为一个值。
建议直接用设置初始值的要领
1. reduce要领面对空数组时需要一个初始值,
2. 数组内如果是东西,在没有初始值要领中,第一次遍历previousValue是一个成员需要计算,
而我只想让它返回值。初始值遍历要领例完美解决这个问题
该要领接收的第一个参数为函数,第二个为初始值
函数中又接收两个参数,(之前的返回值,当前值)
reduce(function(之前的返回值,当前值){},初始值)没有初始值
函数内参数1为数组第一个成员,参数2为数组第二个成员
第一次遍历时参数1为返回值,参数2为数组依次遍历的值,直到完成
const arr = [1,2,3,4,5] let newArr = arr.reduce(function (preValue,nowValue) { return preValue+nowValue; }) console.log(newArr); //1 2 //3 3 //6 4 //10 5 //最后功效15设置了初始值
第一次遍历初始值与数组第一个成员
第二次遍历时参数1为返回值,参数2为数组依次遍历的值,直到完成
const arr = [1,2,3,4,5] let newArr = arr.reduce(function (preValue,nowValue) { return preValue+nowValue; },10) console.log(newArr); //10 1 //11 2 //13 3 //16 4 //20 5 //最后功效25find要领遍历数组,返回切合条件的子元素
内如果判断为true,则返回item。
const arr = [1,2,3,4] let arrItem = arr.find(function(n){ return n==2; }); console.log(arrItem); //2every要领用于检测数组内所有元素是否都切合条件,返回布尔值
如果数组有一个元素不满足,则整个表达式返回 false,并残剩元素不会再检测
every不会对空数组进行检测
every不会转变原始数组
JS高阶函数
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/29998.html