当前位置:首页 > Web开发 > 正文

返回符合条件的子元素 内如果判断为true

2024-03-31 Web开发

标签:

JS高阶函数-遍历要领 filter()

filter要领查抄数组,删除不匹配的元素,返回一个新数组

filter要领内部传入回调函数,,回调函数要求必需传入数组的value

const arr = [1,2,3,4]; let newArr = arr.filter(function(n){ return n<3; }) console.log(newArr)//1,2


map()

map要领遍历并措置惩罚惩罚数组中每个元素,并返回一个新数组

回调函数中传入的值为数组的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()

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 //最后功效25


find()

find要领遍历数组,返回切合条件的子元素

内如果判断为true,则返回item。

const arr = [1,2,3,4] let arrItem = arr.find(function(n){ return n==2; }); console.log(arrItem); //2


every()

every要领用于检测数组内所有元素是否切合条件,返回布尔值

如果数组有一个元素不满足,则整个表达式返回 false,并残剩元素不会再检测

every不会对空数组进行检测
every不会转变原始数组

const arr = [1,2,3,4] let isTrue = arr.every(function(n){ return n>2; }) console.log(isTrue); //false

JS高阶函数

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/29998.html