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,以后有一起讨论,各种好组件)

相关文章
|
1月前
|
存储
`map()`方法在什么场景下会比 `forEach()`方法更高效?
综上所述,当需要对数组元素进行复杂的转换并生成新数组、进行链式调用和函数式编程、处理元素之间存在明确映射关系的情况以及与其他数组方法结合使用时,`map()`方法比`forEach()`方法更高效,能够使代码更加简洁、清晰和易于维护。
57 32
|
3月前
|
索引
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
|
1月前
|
存储 JavaScript 前端开发
如何选择使用`map()`方法和`forEach()`方法?
选择使用`map()`方法还是`forEach()`方法主要取决于操作的目的、是否需要返回值、代码的可读性和维护性等因素。在实际开发中,需要根据具体的业务需求和场景来灵活选择合适的方法,以实现更高效、更易读和更易维护的代码。
26 3
|
3月前
|
存储 JavaScript 前端开发
`forEach()`方法和`map()`方法哪个执行效率更高?
`forEach()`方法和`map()`方法哪个执行效率更高?
|
3月前
数组方法中的`forEach()`方法和`map()`方法有什么区别?
数组方法中的`forEach()`方法和`map()`方法有什么区别?
|
7月前
|
JavaScript 前端开发 索引
问js的forEach和map的区别
JavaScript中的`forEach`和`map`都是数组迭代方法。`forEach`遍历数组但不修改原数组,无返回值;它接受回调函数处理元素。`map`则遍历数组并返回新数组,新数组元素为回调函数处理后的结果。两者都接收元素、索引和数组作为回调函数参数。
58 7
|
7月前
|
存储 JavaScript 前端开发
面试题:问js的forEach和map的区别
面试题:问js的forEach和map的区别
|
前端开发 JavaScript 索引
浅谈 Javascript 中的 forEach 和 map 之间的区别
在 Javascript 中数组的迭代最常用的两个函数:forEach和map。可能很多人认为这两个函数在工作方式上是相同的,它们都进行迭代并输出数组的每一项。本文就来介绍一下forEach和map的差异,并因此加深对两个函数的理解。
166 0
浅谈 Javascript 中的 forEach 和 map 之间的区别
|
1月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
25 1
JavaScript中的原型 保姆级文章一文搞懂
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
103 2