详谈JS中数组的迭代方法和归并方法

发布时间 - 2026-01-11 02:44:26    点击率:

数组的迭代方法

ES5中为数组定义了5个迭代方法。每个方法都要接收两个参数:要在每一项上面运行的函数和(可选的)运行该函数的作用域对象---影响this的值。

传入方法中的函数会介绍三个参数:1.数组项的值 2. 该项在数组的中位值 3. 数组对象本身;

every()和some()方法

every():对数组中的每一项运行给定函数,如果每一项都返回true,则返回true,否则false;

some():对数组中的每一项运行给定函数,如果至少有一项返回true,则返回true,否则false;

var arr=[1,2,4,5,3,1];
var one=arr.every(function(item,index,array){
 return (item>2); 
});
console.log(one);  //false

var two=arr.some(function(item,index,array){
 return (item>2);
});
console.log(two);  //true

filter()和map()方法

filter():对数组中的每一项给定函数,返回值为true的项重新组成新的数组;

map():岁数组中的每一项给定函数,返回每一项调用这个函数的结果;

//数组中可以被2整除的数
var arr=[1,2,4,5,3,1];
var one=arr.filter(function(item,index,array){
 return (item%2==0);
});
console.log(one);  //[2, 4]

//数组中所有数的2倍
var two=arr.map(function(item,index,array){
 return (item*2);
});
console.log(two);  //[2, 4, 8, 10, 6, 2]

forEach()方法

forEach():对方法中的每一项运行给定函数。这个方法没有返回值;

var a = ['a', 'b', 'c'];

a.forEach(function(item,index,array) {
 console.log(item);
}); 
 // "a"
 // "b"
 // "c"

归并方法

reduce()和reduceRight()方法

var nums=[1,2,3,4,5];
 var sum=nums.reduce(function(prev,cur,index,array){
  return prev+cur;
 });
 alert(sum);  //15  第一次 prev:1;cur:2; 第二次: prev:3(1+2) cur:3 以此类推 
 
/******************************************************************************************/
 
 var nums=[1,2,3,4,5];
 var sum=nums.reduceRight(function(prev,cur,index,array){
  return prev+cur;
 });
 alert(sum);  //15  第一次 prev:5;cur:4; 第二次: prev:9(5+4) cur:3 以此类推 

以上这篇详谈JS中数组的迭代方法和归并方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# js数组迭代方法  # JavaScript数组迭代方法  # js数组的五种迭代方法及两种归并方法(推荐)  # javaScript数组迭代方法详解  # 深入JavaScript高级程序设计之对象、数组(栈方法  # 队列方法  # 重排序方法  # 迭代方法)  # JavaScript数组迭代器实例分析  # JS的数组迭代方法  # javascript中Array数组的迭代方法实例分析  # js 数组实现一个类似ruby的迭代器  # JavaScript数组的5种迭代方法  # 每一项  # 组中  # 以此类推  # 给大家  # 迭代  # 都要  # 要在  # 希望能  # 可选  # 这篇  # 该项  # 小编  # 值为  # 大家多多  # 中为  # 返回值  # ccffcc  # span  # background  # pre 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  如何选择PHP开源工具快速搭建网站?  Laravel如何处理表单验证?(Requests代码示例)  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  如何实现javascript表单验证_正则表达式有哪些实用技巧  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  黑客入侵网站服务器的常见手法有哪些?  教你用AI将一段旋律扩展成一首完整的曲子  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  非常酷的网站设计制作软件,酷培ai教育官方网站?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何用PHP工具快速搭建高效网站?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何在阿里云通过域名搭建网站?  Python数据仓库与ETL构建实战_Airflow调度流程详解  手机软键盘弹出时影响布局的解决方法  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  北京专业网站制作设计师招聘,北京白云观官方网站?  香港服务器如何优化才能显著提升网站加载速度?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  网站制作壁纸教程视频,电脑壁纸网站?  北京企业网站设计制作公司,北京铁路集团官方网站?  如何在香港服务器上快速搭建免备案网站?  如何在阿里云域名上完成建站全流程?  Bootstrap CSS布局之列表  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  如何用狗爹虚拟主机快速搭建网站?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  微信推文制作网站有哪些,怎么做微信推文,急?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)