JavaScript 中 五种迭代数组的方法 every some map filter forEach

简介: 本文介绍了JavaScript中五种常用数组迭代方法:every、some、filter、map和forEach,并通过示例代码展示了它们的基本用法和区别。

ECMAScript 提供了 5个对数组的迭代方法
1.every()
2.some()
3.filter()
4.forEach()
5.map()

1.every 和 some

every() 是对数组的每一项进行迭代,然后如果每个数组元素都满足迭代器中设定的条件,那么返回ture,反之返回false
some() 也是对数组的每一项进行迭代,只要数组元素中任意一个满足迭代器中设定的条件,那么就会返回ture,一项也不满足则返回false

let arr = [1,3,5,7,9]
// 判断数组元素中是不是都大于2
let rs1 = arr.every((item,index,array)=>item>2)
console.log(rs1) //false
// 判断数组元素中是不是存在一些元素大于2
let rs2 = arr.some((item,index,array)=>item>2)
console.log(rs2) // true

2.filter (重点常用)

filter从字面意思上来看就是过滤器,它的作用也是类似过滤器
它会对数组的每一项进行迭代遍历,然后如果满足filter迭代器设置的条件,则会将这些满足要求的元素重新组成一个数组返回

let arr = [1,3,5,7,9]
let rs3 = arr.filter((item,index,array)=>item>2)
console.log(rs3) // [3, 5, 7, 9]

3.map (灵活常用)

map比较好玩,它是将数组的每一项进行迭代,然后根据迭代器的结果重新返回一个数组
比如:给定一个数组每个数组元素的值减2,或者给定一个数组每个数组元素变成它的平方

let arr = [1,3,5,7,9]

let rs4 = arr.map((item,index,array)=>item-2)
console.log(rs4) // [-1, 1, 3, 5, 7]

let rs5 = arr.map((item,index,array)=>item*item)
console.log(rs5) // [-1, 1, 3, 5, 7]

4.forEach (重点常用)

forEach 就是对每一项进行迭代遍历,没有返回值,但是可以在遍历的过程中做一些事情

let arr = [1,3,5,7,9]

arr.forEach((item,index,array)=>{
   
console.log("索引:"+index+" 值:"+item)
})

在这里插入图片描述


相关文章
|
6月前
|
安全 Java API
【Java性能优化】Map.merge()方法:告别繁琐判空,3行代码搞定统计累加!
在日常开发中,我们经常需要对Map中的值进行累加统计。}else{代码冗长,重复调用get()方法需要显式处理null值非原子操作,多线程下不安全今天要介绍的方法,可以让你用一行代码优雅解决所有这些问题!方法的基本用法和优势与传统写法的对比分析多线程安全版本的实现Stream API的终极优化方案底层实现原理和性能优化建议一句话总结是Java 8为我们提供的Map操作利器,能让你的统计代码更简洁、更安全、更高效!// 合并两个列表});简单累加。
592 0
|
8月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
8月前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
存储
`map()`方法在什么场景下会比 `forEach()`方法更高效?
综上所述,当需要对数组元素进行复杂的转换并生成新数组、进行链式调用和函数式编程、处理元素之间存在明确映射关系的情况以及与其他数组方法结合使用时,`map()`方法比`forEach()`方法更高效,能够使代码更加简洁、清晰和易于维护。
171 32
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
279 2
|
12月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
206 1
JavaScript中的原型 保姆级文章一文搞懂
|
12月前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
129 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
416 5
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
241 4

热门文章

最新文章