详谈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 相关文章推荐
JS在IE和FireFox之间常用函数的区别小结
Mar 12 Javascript
JS写的贪吃蛇游戏(个人练习)
Jul 08 Javascript
Javascript 函数parseInt()转换时出现bug问题
May 20 Javascript
Node.js中使用mongoskin操作mongoDB实例
Sep 28 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
AngularJS获取json数据的方法详解
May 27 Javascript
详解Vue爬坑之vuex初识
Jun 14 Javascript
基于LayUI实现前端分页功能的方法
Jul 22 Javascript
AngularJS select加载数据选中默认值的方法
Feb 28 Javascript
vue实现键盘输入支付密码功能
Aug 18 Javascript
Node.js之删除文件夹(含递归删除)代码实例
Sep 09 Javascript
ant design vue的form表单取值方法
Jun 01 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定义函数代码
2015/02/26 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
jQuery操作input type=radio的实现代码
2012/06/14 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
vue实现文件上传功能
2018/08/13 Javascript
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
[05:24]TI9采访——教练
2019/08/24 DOTA
python抓取网页内容示例分享
2014/02/24 Python
python基础 range的用法解析
2019/08/23 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
django中瀑布流写法实例代码
2019/10/14 Python
python实发邮件实例详解
2019/11/11 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
实习自我评价怎么写
2013/12/02 职场文书
教师实习自我鉴定
2013/12/18 职场文书
幼儿园教师个人反思
2014/01/30 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
防汛工作情况汇报
2014/10/28 职场文书
让世界充满爱观后感
2015/06/10 职场文书
遗失证明范文
2015/06/19 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python