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


Posted in Javascript onAugust 11, 2017

数组的迭代方法

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中数组的迭代方法和归并方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 获取LI里的内容
Dec 17 Javascript
jQuery示例收集
Nov 05 Javascript
Javascript中的delete介绍
Sep 02 Javascript
YUI Compressor压缩JavaScript原理及微优化
Jan 07 Javascript
js添加select下默认的option的value和text的方法
Oct 19 Javascript
通过点击jqgrid表格弹出需要的表格数据
Dec 02 Javascript
基于JavaScript实现div层跟随滚动条滑动
Jan 12 Javascript
javascript中不易分清的slice,splice和split三个函数
Mar 29 Javascript
详解angularJs中自定义directive的数据交互
Jan 13 Javascript
详细介绍RxJS在Angular中的应用
Sep 23 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
Apr 24 Javascript
在vue中动态修改css其中一个属性值操作
Dec 07 Vue.js
原生js 封装get ,post, delete 请求的实例
Aug 11 #Javascript
laydate 显示结束时间不小于开始时间的实例
Aug 11 #Javascript
JS非空验证及邮箱验证的实例
Aug 11 #Javascript
vue如何获取点击事件源的方法
Aug 10 #Javascript
Vue单文件组件基础模板小结
Aug 10 #Javascript
基于JavaScript实现淘宝商品广告效果
Aug 10 #Javascript
Vue数组更新及过滤排序功能
Aug 10 #Javascript
You might like
php像数组一样存取和修改字符串字符
2014/03/21 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
Javascript Select操作大集合
2009/05/26 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
Javascript面向对象编程
2012/03/18 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
VUE 使用中踩过的坑
2018/02/08 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
四风存在的原因分析
2014/02/11 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
公证处委托书
2015/01/28 职场文书
事业单位个人总结
2015/02/12 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
Python实现制作销售数据可视化看板详解
2021/11/27 Python