详谈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下的keyCode键码值表
Apr 10 Javascript
写给想学习Javascript的朋友一点学习经验小结
Nov 23 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
Dec 30 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
Sep 21 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
Aug 27 Javascript
jQuery循环遍历子节点并获取值的方法
Apr 14 Javascript
web前端vue实现插值文本和输出原始html
Jan 19 Javascript
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
Vue拖拽组件列表实现动态页面配置功能
Jun 17 Javascript
JavaScript定时器设置、使用与倒计时案例详解
Jul 08 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
javascript实现支付宝滑块验证码效果
Jul 24 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
php header Content-Type类型小结
2011/07/03 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
php定时执行任务设置详解
2015/02/06 PHP
PHP中each与list用法分析
2016/01/08 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
你的编程语言可以这样做吗?
2006/09/07 Javascript
Javascript 二维数组
2009/11/26 Javascript
javascript中的new使用
2010/03/20 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
python利用sklearn包编写决策树源代码
2017/12/21 Python
Python pymongo模块用法示例
2018/03/31 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
Pandas分组与排序的实现
2019/07/23 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
2013年高中生自我评价
2013/10/23 职场文书
毕业研究生的自我鉴定
2013/11/30 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
讲解员培训方案
2014/05/04 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
期末考试复习计划
2015/01/19 职场文书
婚宴新娘致辞
2015/07/28 职场文书
导游词之镇江焦山
2019/11/21 职场文书
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技