js数组遍历some,foreach,map,filter,every对比

简介: 1. [...].some(ck)函数       ----      某个一个为true,则为true 对数组中每个元素执行一次ck函数,知道某个元素返回true,则直接返回true。如果都返回false,则返回false检查整个数组中是否有满足ck函数的元素。
1. [...].some(ck)函数       ----      某个一个为true,则为true

 

对数组中每个元素执行一次ck函数,知道某个元素返回true,则直接返回true。如果都返回false,则返回false

检查整个数组中是否有满足ck函数的元素。

 

var result = [1,5,3,6].some(  (v,i)  =>  (v>10) )      //所有元素都不满足,返回result = false
var result = [10,5,30,60].some(  (v,i)  =>  (v<10) )      //有一个(多个)满足,返回result  = true

  

 

 

2.[...].foreach(ck)函数       ----       循环而已

 

每个数组元素都执行一次ck函数,foreach函数无法用break跳出

 

[50, 25, 49].forEach( (v,i) => console.log(v) );
//50     25      49

  

 

 

3.[...].map(ck)函数      ----         返回每个元素返回值的集合

 

每个数组元素都执行一次ck函数,最后返回每次元素执行ck函数后返回值的集合(数组)

 

var newArray = [50,30,40].map( (v,i) => v/10 )       //每个元素除以10,最后返回一个新数组 newArray = [5,3,4]

  

 

 

4.[...].filter(ck)函数      ----        得到返回值为true的元素的集合

 

每个数组元素都执行一次ck函数,最后返回每次元素执行ck函数后返回值的为true的元素集合(数组)

 

var newArray = [50,2,60,4,53,15].filter( (v,i) => (v>10) )   //返回数组中大于10的元素新数组  newArray = [50,60,53,15]

  

 

 

5.[...].every(ck)函数     ----          某一个为false,则返回false            
     

每个数组元素都执行一次ck函数,直到某个元素执行函数ck返回false,则直接返回false,如果全部返回true,则返回true

 

var result = [5,50,35,12,85].every( (v,i) => v<51 )  //返回有一个(多个)大于等于51,则返回 result = false
var result = [5,50,35,12,85].every( (v,i) => v<100 )  //全部大于51,则返回 result = true

 

  

 6.[...].reduce(ck,init)      ----       依次执行ck(prv.next) 


 数组依次执行ck函数。

var result = [0,1,2,3]
restult.reduce((a,b)=> a+b,0)  // 返回 6

 

个人博客 :很多好用的 npm 包 , 可以看看  https://gilea.cn/  

 

github:  https://github.com/longfei59418888/vui   (很不错的vue2.0组件库,记得给一个 start,以后有一起讨论,各种好组件)

相关文章
|
15天前
|
JavaScript 前端开发 索引
问js的forEach和map的区别
JavaScript中的`forEach`和`map`都是数组迭代方法。`forEach`遍历数组但不修改原数组,无返回值;它接受回调函数处理元素。`map`则遍历数组并返回新数组,新数组元素为回调函数处理后的结果。两者都接收元素、索引和数组作为回调函数参数。
18 7
|
1月前
|
JavaScript 前端开发
解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
解释 JavaScript 中的`map()`、`filter()`和`reduce()`方法的用途。
19 1
|
1月前
|
JavaScript 前端开发
JavaScript如何遍历表单元素?
JavaScript如何遍历表单元素?
|
26天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可为任意类型,有序且支持get、set、has、delete操作;Set存储唯一值,提供add、delete、has方法。两者皆可迭代。示例展示了Map和Set的基本用法,如添加、查询、删除元素。
13 2
|
1月前
|
JavaScript 前端开发 API
JavaScript循环遍历常用的7种方法以及常用的数组 API
JavaScript循环遍历常用的7种方法以及常用的数组 API
34 0
|
1月前
|
存储 JavaScript
JS中Map对象与object的区别
JS中Map对象与object的区别
|
1月前
|
存储 JavaScript 前端开发
javascript中的Map和Set
javascript中的Map和Set
|
JavaScript 前端开发
javascript中的 类初始化,遍历for in 以及with的用法
function member(name,gender){ this.name=name; this.gender=gender; } function showProperty(obj,objStr){ var str=""; for(var i in obj){ str+=objStr+".
651 0
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
70 0