详谈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 radio 操作代码
Mar 16 Javascript
js浮动图片的动态效果
Jul 10 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
jQuery.trim() 函数及trim()用法详解
Oct 26 Javascript
jQuery Validation PlugIn的使用方法详解
Dec 18 Javascript
分享自己用JS做的扫雷小游戏
Feb 17 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
Oct 18 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
Dec 26 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
Oct 08 Javascript
使用vue + less 实现简单换肤功能的示例
Feb 21 Javascript
原生js实现的观察者和订阅者模式简单示例
Apr 18 Javascript
antd table按表格里的日期去排序操作
Nov 17 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的autoload自动加载机制使用说明
2010/12/28 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
javascript基本语法分析说明
2008/06/15 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
python删除服务器文件代码示例
2018/02/09 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
python列表返回重复数据的下标
2020/02/10 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
现代绅士日常奢侈品:Todd Snyder
2019/12/13 全球购物
幼教个人求职信范文
2013/12/02 职场文书
自动化专业个人求职信范文
2013/12/30 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
以权谋私检举信范文
2015/03/02 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
JavaScript实例 ODO List分析
2022/01/22 Javascript
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript