JS中some()、every()、filter()、map()、forEach()的区别

ECMAScript为数组定义了5个迭代方法,每个方法接收两个参数:以每一项为参数运行的函数,以及可选的作为函数运行上下文的作用域对象(影响函数中 this 的值)。传给每个方法的函数接收 3个参数:数组元素、索引和数组本身。它们的功能又各有差别,现记录如下:

some():对数组每一项元素都运行传入的函数,如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行。如果没有满足条件的元素,则返回false。


every():对数组每一项都运行传入的函数,如果每一项函数都返回 true,则这个方法返回 true。如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。用于检测数组所有元素是否都符合指定条件。


filter():对数组每一项都运行传入的函数,filter会根据函数中的筛选条件将返回的结果组成一个新的数组并返回,可用于过滤数组中的对象。


map():通过指定函数处理数组的每个元素,并返回处理后的新数组。


forEach():对数组每一项都运行传入的函数,没有返回值。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容