博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
方法find,findeIndex,map,filfter,reduce,some,every总结
阅读量:5375 次
发布时间:2019-06-15

本文共 1922 字,大约阅读时间需要 6 分钟。

1:find方法

作用:根据条件找到首次符合这个条件的值, 

回调参数:1,key值 2,index值 
返回值:返回符合条件的值,只有一个,都不符合条件,返回undefined

// 代码示例let arr = [10,2,1,2,3,4,5,6,6,7,8];let arrValue = arr.find(item => item < 0);// 返回值为undefinedlet arrValue1 = arr.find(item => item > 0);// 返回值为10

  

 

2:findIndex方法

作用:根据条件找到首次符合这个条件的值的下标, 

回调参数:1,key值 2,index值 
返回值:返回符合条件的值,只有一个,都不符合条件,返回undefined

// 代码示例let arr = [10,2,1,2,3,4,5,6,6,7,8];let index = arr.findIndex(item => item < 0);// 返回值为-1;let index1 = arr.findIndex(item => item > 0);// 返回值为0;

  

 

3:map方法

作用:遍历数组,返回一个新数组, 

回调参数:1,key值 2,index值 不影响原数组 
返回值:是一个新的数组,数组的每一项,回调函数的返回值

// 代码示例let arr = [1,2,3];let newArr = arr.map(function (item){    return item + 1;    }); // 返回新数组为[2,3,4];

  

 

4:filter方法

作用:通过条件筛选并返回复合条件的职, 

回调参数:1,key值 2,index值 不影响原数组 
返回值:返回值是一个新数组,回调函数返回值为true,就把循环的这一项放在新数组中,如果为fasle,就忽略。

let arr = [1,2,3,43,4,5,6,7,8];let newArr = arr.filter(function (item){    return item < 5 // 过滤的条件});// 返回新数组为 [1,2,3,4]

  

 

5:reduce方法

作用:计算数组中所有的key计算结果, 

回调参数:1. 没有初始值,是数组的第一项,2. 没有初始值,是数组的第二项 
运行过程 
没有初始值, 
第一调用回调函数,接收的是数组的第一项和第二项。 
第二次调用回调函数,接收的第一个参数是调用上一个回调函数(第一个)的返回值,第二参数是数组的第三项; 
第三次调用函数,接收的第一个参数是调用上一个回调函数(第二次)的返回值,第二参数是数组的第四项。。。。。 
有初始值 
第一次调用回调函数,回调函数的第一参数是传入的初始值,第二分参数是数组的第一项 
第二次调用回调函数,接收的第一个参数是调用上一个回调函数(第一个)的返回值,第二参数是数组的第三项; 
第三次调用函数,接收的第一个参数是调用上一个回调函数(第二次)的返回值,第二参数是数组的第四项

//示例代码let arr = [1,2,3,4,5];    // 数组中每一项相加得出一个总和    // 没有初始值    arr.reduce(function (item1,item2){    return item1+item2});//返回值为数组中所有的值相加之和,55// 初始值是100arr.reduce(function (item1,item2){    return item1+item2},100);//返回值为初始值数组中所有的值相加之和,155

  

 

6:some&every方法

some作用:给定一个条件,只要数组中有一项满足条件,就返回true,都不满足,返回false

every作用:给定一个条件,数组必须全部满足条件,就返回true,有一个都不满足,返回false 
回调参数:1,key值 2,index值

//示例代码let arr = [1,2,3,4,5,56,7];// 只要数组中有一个大于5就为truelet bl = arr.some(function (item){    return item > 5})// 返回值为true// 数组中所有的值大于0就为truelet bl = arr.every(function (item){    return item > 0})// 返回值为true

  

转载于:https://www.cnblogs.com/settimeout/p/8026247.html

你可能感兴趣的文章
Elasticsearch就这么简单
查看>>
一些随机数的攻击脚本
查看>>
Python序列化模块
查看>>
[BZOJ4010]菜肴制作
查看>>
在.net中使用aquiles访问Cassandra(一)
查看>>
迭代器
查看>>
JavaScript对象及面向对象
查看>>
数据库startup启动不起来了。报错ORA-01172
查看>>
肖特基二极管
查看>>
栈的java实现和栈的应用举例
查看>>
Beta版本冲刺前准备
查看>>
vue双向数据绑定原理
查看>>
执行mysql语句报错 Illegal mix of collations……
查看>>
第三次
查看>>
CSS - 语法规则
查看>>
九度oj 1002 Grading 2011年浙江大学计算机及软件工程研究生机试真题
查看>>
GridView总结一:GridView自带分页及与DropDownList结合使用
查看>>
[bzoj3378][Usaco2004 Open]MooFest 狂欢节_树状数组
查看>>
redis-java基础操作
查看>>
2018.11.07 NOIP模拟 数独(模拟)
查看>>