javaScript数组迭代方法详解 - vip共享吧
  • 网站首页
  • IT技术笔记
    • PHP开发
    • JavaScript
    • SEO优化
    • 常用工具
  • 好资源福利
    • 会员账号共享
  • 网站模板源码
    • 小程序源码
    • 网站源码
  • 共享网络资源
  • 更多功能
    • 留言吐槽
    • 文章归档
    • 我的邻居
    • 视频解析
    • 高清壁纸
    • 公告动态
    • 广告合作
    • 关于我们


  • 个人中心
  •  我的主页
  •  我要投稿
  •  会员服务
  •  修改资料
  •  退出登录
导航菜单
  • 网站首页
  • IT技术笔记
    • PHP开发
    • JavaScript
    • SEO优化
    • 常用工具
  • 好资源福利
    • 会员账号共享
  • 网站模板源码
    • 小程序源码
    • 网站源码
  • 共享网络资源
  • 更多功能
    • 留言吐槽
    • 文章归档
    • 我的邻居
    • 视频解析
    • 高清壁纸
    • 公告动态
    • 广告合作
    • 关于我们
javascript教程JavaScript

javaScript数组迭代方法详解

2023/4/23 韩俊  JavaScript 66 0

本文为大家介绍了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数组迭代方法有所帮助。

点赞:0 分享 海报 收藏

上一篇
JS跨域解决方案之使用CORS实现跨域
下一篇
基于RequireJS和JQuery的模块化编程日常问题解析
作者头像 作者名称 作者性别
韩俊
联系作者 作者主页

热门推荐

1 js一维数组、多维数组和对象的混合使用方法
2 js老生常谈之this,constructor ,prototype全面解析
3 浅析Javascript中bind()方法的使用与实现
4 EasyUi combotree实现动态加载树节点
5 EasyUI datagrid editor combogrid搜索框的实现
6 javascript制作照片墙及制作过程中出现的问题

评论列表

取消回复

    •  
      Login

      韩俊

      趁你现在还有时间,尽你自己最大的努力,努力做成你最想做的那件事,成为你最想成为的那种人,过着你最想过的那种生活。这个世界永远比你想的要更精彩,不要败给生活。

      站长 主页
      用户中心
      评论管理
      退出登陆
      • 845文章
      • 449评论
      • 76微语
  • 广告赞助

  • 二零二三年06月
    一二三四五六日
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  
  • 分类

    • 网站模板源码
    • IT技术笔记
    • 好资源分享
    • 共享网络资源
  • 最新文章

      • 什么是传输和传播延迟?
        • 什么是网络服务术语?
          • 什么是负载敏感路由算法?
            • 什么是流控制传输协议 (SCTP) 服务?
              • 什么是计算机网络中的 IPV6 单播地址?
                • 什么是计算机网络中的 UDP 数据报格式?
                  • 什么是蜂窝网络带宽能力和基站?
                    • 什么是协议图?比较网络接口和协议
  • 热门文章

    • 酷狗音乐VIP账号 酷狗音乐会员账号共享2017.01.29更新
    • 芒果tv vip会员账号 芒果tv会员账号共享2017.01.29更新
    • 爱奇艺vip账号 爱奇艺/PPS会员账号共享2016.12.12更新
    • 优酷/土豆vip会员账号 优酷会员账号共享2017.01.29更新
    • 活动:免费获得爱奇艺VIP/PPS会员账号50天以上的使用权!
    • 酷我音乐VIP账号 酷我音乐会员账号共享2016.12.31更新
    • 暴风影音会员账号 暴风影音会员账号共享2016.12.31更新
    • m1905会员账号 m1905会员账号共享2016.10.21更新
  • 最新评论

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=1766679359

      2345和360修改太厉害,现在都不想给...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=3293901900

      感谢大大的分享

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      回复了好奥v:如果没有解析成功,可以切换接口...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=131241242441

      现在视频解析网站怎么用不了啦?

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      回复了全力以赴:已发送

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=471420954

      感谢大佬!麻烦您啦! 模板地址:htt...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=qleez

      感谢大佬!麻烦您啦! 模板地址:htt...

    • https://www.vipshare8.com/content/templates/meta/Api/qqtx.php/?qq=1184503826

      回复了韩俊:万分感谢!!!

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      回复了Moen:已发送

    • https://www.vipshare8.com/content/uploadfile/202103/thum-490d1614564497.png

      回复了慕子訓Chester:已发送

  • 网站统计 I 当前在线:110人

    • 本站管理:1位
    • 用户总数:590位
    • 置顶文章:0篇
    • 日志总数:845篇
    • 微语总数:76条
    • 评论总数:449条
    • 标签总数:79条
    • 页面总数:8页
    • 分类总数:11个
    • 链接总数:47条
    • 运行天数:2960天
    • 最后更新:6月8日
    • 登录
    • 注册
    • 找回
    Copyright © 2023vip共享吧网站地图 网站备案豫ICP备19004194号-1

    免责声明:本站资源仅供用于学习和交流,本站部分素材内容来源于网络,如有侵权/投稿等,请及时联系站长.

    • 首页
    • SEO优化 SEO优化
    • 搜索
    • 视频解析
    • 用户

    大家都在搜

    • m1905会员账号
    • 腾讯VIP账号共享
    • 全民娱乐
    • 爱奇艺会员账号共享
    • 芒果视频
    • sem优化
    • 威客平台
    • 掌阅会员账号
    • PHP教程
    • JavaScript
    • 2345网址导航
    • 起点账号共享
    • 开发工具
    • 爱奇艺VIP账号共享
    • 网赚网盘
    • 酷我音乐会员账号
    • 
    • 