详谈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技术-屏蔽类
Aug 15 Javascript
Js callBack 返回前一页的js方法
Nov 30 Javascript
javascript globalStorage类代码
Jun 04 Javascript
高亮显示web页表格行的javascript代码
Nov 19 Javascript
JavaScript中的property和attribute介绍
Dec 26 Javascript
jquery自定义表格样式
Nov 23 Javascript
JQuery 传送中文乱码问题的简单解决办法
May 24 Javascript
阿里云ecs服务器中安装部署node.js的步骤
Oct 08 Javascript
自动适应iframe右边的高度
Dec 22 Javascript
基于Datatables跳转到指定页的简单实例
Nov 09 Javascript
js中对象和面向对象与Json介绍
Jan 21 Javascript
antd form表单数据回显操作
Nov 02 Javascript
原生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
用PHP4访问Oracle815
2006/10/09 PHP
在PHP中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
JavaScript实现随机点名器实例详解
2019/05/07 Javascript
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
简单谈谈Python的pycurl模块
2018/04/07 Python
详解python3中zipfile模块用法
2018/06/18 Python
python 并发下载器实现方法示例
2019/11/22 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
Python如何实现邮件功能
2020/05/27 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
应届大学生简历中的自我评价
2014/01/15 职场文书
优秀高中生事迹材料
2014/02/11 职场文书
晨会主持词
2014/03/17 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
银行授权委托书范本
2014/10/04 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
纪委立案决定书
2015/06/24 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android