详谈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 相关文章推荐
jQuery控制的不同方向的滑动(向左、向右滑动等)
Jul 18 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
Jan 26 Javascript
跟我学习javascript的作用域与作用域链
Nov 19 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
Jun 07 Javascript
Angular ng-class详解及实例代码
Sep 19 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
Feb 23 Javascript
使用Angular material主题定义自己的组件库的配色体系
Sep 04 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
Apr 07 Javascript
解决Vue项目中tff报错的问题
Oct 21 Javascript
在antd Table中插入可编辑的单元格实例
Oct 28 Javascript
基于vue实现微博三方登录流程解析
Nov 04 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
PHPMailer 中文使用说明小结
2010/01/22 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
JavaScript实现随机点名器实例详解
2019/05/07 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
JS函数进阶之继承用法实例分析
2020/01/15 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
2020/02/03 Javascript
简化Python的Django框架代码的一些示例
2015/04/20 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
华为python面试题
2016/05/03 面试题
英语自荐信常用语句
2013/12/13 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
幼师中班个人总结
2015/02/12 职场文书
《月光曲》教学反思
2016/02/16 职场文书
餐厅开业活动方案
2019/07/08 职场文书
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP