javaScript数组迭代方法详解


Posted in Javascript onApril 14, 2016

本文为大家介绍了javaScript数组迭代方法,供大家参考,具体内容如下

每个方法都接收两个参数:要在每一项上运行的函数  和  (可选的)运行该函数的作用域对象。

传入这些方法中的函数会接收三个参数:数组项的值,该项在数组中的位置,数组对象本身。

forEach()  对数组中的每一项运行 给定函数。该方法没有返回值。
every()  对数组中的每一项运行 给定函数,如果数组的每一项都返回true,则返回true。
some()  对数组中的每一项运行 给定函数,如果数组的任意一项返回true,则返回true。
fliter()  如果数组的每一项都返回true,则返回true。返回该函数会返回true的项组成的数组。
map()  如果数组的每一项都返回true,则返回true。返回每次函数调用的结果组成的数组。

请看以下例子:

var numbers = [1,2,3,4,5,4,3,2,1];
//every()
var everyResult = numbers.every(function(item, index, array){
 return (item > 2);
});
alert(everyResult); //false
//some()
var someResult = numbers.some(function(item, index, array){
 return (item > 2);
});
alert(someResult); //true
//filter()
var filterResult = numbers.filter(function(item, index, array){
 return (item > 2);
});
alert(filterResult); //[3,4,5,4,3]
//map()
var mapResult = numbers.map(function(item, index, array){
 return (item * 2);
});
alert(mapResult); //[2,4,6,8,10,8,6,4,2]
//forEach()
numbers.forEach(function(item, index, array){
 alert(item);
}); //多个弹窗分别显示数组中的元素

另一个javaScript数组迭代方法,如下

var arr = [3,4,5,6,7,"a"];

var isNum = function(elem,index,AAA){
return !isNaN(elem);
}

var toUpperCase = function(elem){
return String.prototype.toUpperCase.apply(elem);
}

var print = function(elem,index){
console.log(index+"."+elem);
}

/*对数组中的每一项执行测试函数,直到获得对指定的函数返回 false 的项。 使用此方法 可确定数组中的所有项是否满足某一条件,类似于&&的含义*/
var res = arr.every(isNum);
console.log(res);//false;

/*对数组中的每一项执行测试函数,直到获得返回 true 的项。 使用此方法确定数组中的所有项是否满足条件.类似于||的含义*/
res = arr.some(isNum);
console.log(res);//true

/*对数组中的每一项执行测试函数,并构造一个新数组,返回 true的项被添加进新数组。 如果某项返回 false,则新数组中将不包含此项*/
res = arr.filter(isNum);
console.log(res);//[3, 4, 5, 6, 7]

/*对数组中的每一项执行函数并构造一个新数组,并将原始数组中的每一项的函数结添加进新数组。*/
res = arr.map(toUpperCase);
console.log(res);//["3", "4", "5", "6", "7", "A"]

/*对数组中的每一项执行函数,不返回值*/
res = arr.forEach(print);
console.log(res);

 

 

//自己扩展

/*Array.prototype.every = function(fun,obj) {
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
for (var i = 0; i < len; i++) {
if (!fun.call(obj,this[i], i,this))
return false;
}
return true;
};*/

以上就是本文的全部内容,希望对大家学习javaScript数组迭代方法有所帮助。

Javascript 相关文章推荐
jQuery层次选择器选择元素使用介绍
Apr 18 Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 Javascript
javascript实现框架高度随内容改变的方法
Jul 23 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
Vue.use源码分析
Apr 22 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
mac中利用NVM管理不同node版本的方法详解
Nov 08 Javascript
关于Webpack dev server热加载失败的解决方法
Feb 22 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
Sep 12 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
May 06 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
Feb 09 Javascript
vue 修改 data 数据问题并实时显示操作
Sep 07 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
Dec 24 #Javascript
js贪吃蛇游戏实现思路和源码
Apr 14 #Javascript
JS跨域解决方案之使用CORS实现跨域
Apr 14 #Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
Apr 14 #Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
Apr 13 #Javascript
原生js编写autoComplete插件
Apr 13 #Javascript
JS中的eval 为什么加括号
Apr 13 #Javascript
You might like
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
全面解读Python Web开发框架Django
2014/06/30 Python
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
Python数据库小程序源代码
2019/09/15 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
如何在django中运行scrapy框架
2020/04/22 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
学校志愿者活动总结
2014/06/27 职场文书
党员个人对照检查材料
2014/10/01 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL