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 相关文章推荐
js 替换
Feb 19 Javascript
jquery 删除cookie失效的解决方法
Nov 12 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
Feb 22 Javascript
JS表单验证的代码(常用)
Apr 08 Javascript
jQuery点击输入框显示验证码图片
May 19 Javascript
H5用户注册表单页 注册模态框!
Sep 17 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
Dec 31 Javascript
vue实现商城购物车功能
Nov 27 Javascript
详解webpack babel的配置
Jan 09 Javascript
详解JavaScript中操作符和表达式
Sep 12 Javascript
Vue.js实现tab切换效果
Jul 24 Javascript
Node.js使用MongoDB的ObjectId作为查询条件的方法
Sep 10 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
Syphon 使用方法
2021/03/03 冲泡冲煮
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
javascript新手语法小结
2008/06/15 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
js实现交换运动效果的方法
2015/04/10 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
vue2中引用及使用 better-scroll的方法详解
2018/11/15 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
numpy数组拼接简单示例
2017/12/15 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
学习python分支结构
2019/05/17 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
Python页面加载的等待方式总结
2021/02/28 Python
10个顶级Python实用库推荐
2021/03/04 Python
Ajax的工作原理
2015/12/04 面试题
汽车检测与维修专业求职信
2013/10/30 职场文书
铁路工务反思材料
2014/02/07 职场文书
部门活动策划方案
2014/08/16 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
python3操作redis实现List列表实例
2021/08/04 Python