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 相关文章推荐
window.name代替cookie的实现代码
Nov 28 Javascript
js操作label给label赋值及取label的值示例
Nov 07 Javascript
js改变文章字体大小的实例代码
Nov 27 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
Jul 27 Javascript
jQuery基于cookie实现的购物车实例分析
Dec 24 Javascript
PhotoSwipe异步动态加载图片方法
Aug 25 Javascript
基于Javascript倒计时效果
Dec 22 Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 Javascript
JS ES6多行字符串与连接字符串的表示方法
Apr 26 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 Javascript
实例讲解JavaScript截取字符串
Nov 30 Javascript
vue中 v-for循环的用法详解
Feb 19 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
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
prettify 代码高亮着色器google出品
2010/12/28 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
Python内存读写操作示例
2018/07/18 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
python为什么要安装到c盘
2020/07/20 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
财务人员个人自荐信范文
2013/09/26 职场文书
机电工程学生自荐信范文
2013/12/07 职场文书
如何写好优秀的创业计划书
2014/01/30 职场文书
记帐员岗位责任制
2014/02/08 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
公司副总经理任命书
2014/06/05 职场文书
课外活动总结
2015/02/04 职场文书
硕士学位申请报告
2015/05/15 职场文书
毕业感言怎么写
2015/07/31 职场文书
高中美术教学反思
2016/02/17 职场文书
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL
python函数的两种嵌套方法使用
2022/04/02 Python