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 相关文章推荐
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
Oct 23 Javascript
javascript与CSS复习(三)
Jun 29 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
Jun 30 Javascript
JS中获取函数调用链所有参数的方法
May 07 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
vue之浏览器存储方法封装实例
Mar 15 Javascript
详解vuex结合localstorage动态监听storage的变化
May 03 Javascript
详解webpack4之splitchunksPlugin代码包分拆
Dec 04 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
JS实现图片幻灯片效果代码实例
May 21 Javascript
基于原生JS封装的Modal对话框插件的示例代码
Sep 09 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
基于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
短波收音机简介
2021/03/01 无线电
php实现telnet功能示例
2014/04/08 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
教你php如何实现验证码
2016/01/20 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
jQuery 表单验证扩展(四)
2010/10/20 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
从零学jquery之如何使用回调函数
2014/05/16 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
js获取内联样式的方法
2015/01/27 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
[01:06:32]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第一局
2016/02/28 DOTA
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
Django实现发送邮件功能
2019/07/18 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
中国制造网:Made-in-China.com
2019/10/25 全球购物
群众路线教育实践活动心得体会
2014/03/07 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python