位置: IT常识 - 正文

【JavaScript 进阶教程】数组新增遍历方法的说明与使用(js进阶视频教程)

编辑:rootadmin
【JavaScript 进阶教程】数组新增遍历方法的说明与使用

推荐整理分享【JavaScript 进阶教程】数组新增遍历方法的说明与使用(js进阶视频教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript高级进阶,javascript入门经典,javascript进阶书籍推荐,javascript高级进阶,javascript进阶书籍,javascript高级进阶,javascript进阶书籍,javascript进阶教程,内容如对您有帮助,希望把文章链接给更多的朋友!

文章已收录专栏:JavaScript 进阶教程

作者:卡卡西最近怎么样

文章导读:

      欢迎来到 JavaScript 进阶的学习,ES5 对 JS 的数组,字符串等内置对象的方法均有扩充。这篇文章我们要掌握的是新增的几个 Array 内置对象的常用迭代(遍历)方法,分别是 forEach(),filter(),some(),every()等,这些新方法可以让我们更方便地操作数组。

文章目录:

一:类的本质是什么

 二:forEach() 方法 

forEach() 的格式

forEach() 方法使用

 三:filter() 方法 

filter() 的格式

filter() 方法使用

执行过程

 四:some() 方法 

some() 的格式

some() 方法使用

执行过程

 五:every() 方法 

every() 的格式

every() 方法使用:

执行过程

一:类的本质是什么

       类的本质是什么?首先我们来看一下下面这个代码的输出结果:

<script> class Animal{} console.log(typeof Animal); </script>

我们惊讶的发现,类的本质竟然是函数,或者我们可以这样理解,类就是构造函数的高端写法罢了,那它既然是个函数,是不是也拥有构造函数的一系列特性呢?例如有没有原型对象?类创建的实例化对象有没有__proto__属性呢?我们来证实一下:

<script> class Animal{ constructor(name,age){ this.name=name; this.age=age; } eat(){ console.log('我在吃食物'); } } var dog=new Animal('旺财',5) console.log(Animal.prototype); console.log('--------------------------------------'); console.log(dog.__proto__); console.log('--------------------------------------'); console.log(Animal.prototype===dog.__proto__); </script>

这个输出结果和我们了解到的构造函数的属性完全一样,已经可以证明,ES5中构造函数有的属性,ES6的类中也有,可以说,类就是构造函数的语法糖

【语法糖】语法糖就是一种实现功能相同,但是更便捷的写法,我们学过的自增(i++)就是一种语法糖,它是i=i+1的语法糖

类的本质总结:

类的本质是函数类内的方法都在类的原型对象prototype属性中类的实例化对象也有个__proto__属性指向类的实例化对象类就是构造函数的语法糖 二:forEach() 方法 

forEach()可用于数组的遍历,其参数是一个回调函数

forEach() 的格式:

array.forEach( function( currentValue , index , arr ){ ...... } )

参数currentValueindexarr参数含义数组当前的值,写成 value 即可数组当前值的索引数组本身forEach() 方法使用: <script> var arr1=[1,2,3,4,5,6] arr1.forEach(function(value,index,arr){ console.log('当前值为:'+ value); console.log('当前值的索引为'+ index); console.log('数组本身为'+ arr); console.log('------------------------------------'); }) </script>

这就达到了遍历数组的作用,并且可以轻松拿到当前索引

注意:参数不需要的话也不可省略(或者从后往前省略,因为顺序是固定的,第一位的就是当前值,第二位的就是当前值的索引)

 三:filter() 方法 【JavaScript 进阶教程】数组新增遍历方法的说明与使用(js进阶视频教程)

filter() 用于数组元素的筛选,返回符合条件的数组元素,返回的是一个新的数组,需要一个新定义的空数组去接收,其参数也是一个回调函数

filter() 的格式:

var newarray=array.filter( function( currentValue , index , arr ){ ...... } )

参数currentValueindexarr参数含义数组当前的值,写成 value 即可数组当前值的索引数组本身filter() 方法使用: <script> var arr1=[1,2,3,4,5,6] var newarr=arr1.filter(function(value,index,arr){ return value%2==0; }) console.log(newarr); </script>

执行过程如下:首先拿来数组第一个元素,不符合条件,继续下一个元素再拿来第二个元素,符合条件,放进新数组 newarr再拿来第三个,不符合条件,继续下一个元素再拿来第四个,符合条件,继续放进 newarr......以此类推

注意:需要一个新定义的数组去接收筛选过的数组,参数不需要的话也不可省略(或者从后往前省略,因为顺序是固定的,第一位的就是当前值,第二位的就是当前值的索引)

 四:some() 方法 

some() 用于判断数组中是否有满足要求的元素,返回结果是一个布尔值,存在则返回 true,不存在则返回 false,需要参数去接收返回的布尔值

some() 的格式:

var flag=array.some( function( currentValue , index , arr ){ ...... } )

参数currentValueindexarr参数含义数组当前的值,写成 value 即可数组当前值的索引数组本身some() 方法使用:

返回 true 的情况:

<script> var arr1=[1,2,3,4,5,6] var flag=arr1.some(function(value,index,arr){ return value==6; }) console.log(flag); </script>

返回 false 的情况:

<script> var arr1=[1,2,3,4,5,6] var flag=arr1.some(function(value,index,arr){ return value==7; }) console.log(flag); </script>

执行过程如下:

第一个返回true执行过程:

首先拿来数组第一个元素判断,不符合条件,继续下一个元素下一个元素也不符合条件,再继续下一个元素下一个元素符合条件,返回 true,不在继续往下执行判断

第二个返回false执行过程:

首先拿来数组第一个元素判断,不符合条件,继续下一个元素下一个元素也不符合条件,再继续下一个元素下一个元素也不符合条件,再继续下一个元素......以此类推,知道最后一个也不符合条件,返回 false

注意:需要定义一个参数去接受布尔值。并且在判断过程中一旦有一个符合条件,就不再往下判断了,直接返回 true,但是全不满足才返回 false。参数不需要的话也不可省略(或者从后往前省略,因为顺序是固定的,第一位的就是当前值,第二位的就是当前值的索引)

 五:every() 方法 

every() 用于判断数组中元素是否全部满足要求,返回结果是一个布尔值,全部满足则返回 true,有一个不满足则返回 false,需要参数去接收返回的布尔值

every() 的格式:

var flag=array.every( function( currentValue , index , arr ){ ...... } )

参数currentValueindexarr参数含义数组当前的值,写成 value 即可数组当前值的索引数组本身every() 方法使用:

返回 true 的情况:

<script> var arr1=[1,2,3,4,5,6] var flag=arr1.every(function(value,index,arr){ return value>0; }) console.log(flag); </script>

返回 false 的情况:

<script> var arr1=[1,2,-3,4,5,6] var flag=arr1.every(function(value,index,arr){ return value>0; }) console.log(flag); </script>

执行过程如下:

第一个返回true执行过程:

首先拿来数组第一个元素判断,符合条件,继续下一个元素下一个元素也符合条件,再继续下一个元素下一个元素也符合条件,再继续......以此类推,直到最后一个元素也满足条件,则返回 true

第二个返回false执行过程:

首先拿来数组第一个元素判断,符合条件,继续下一个元素下一个元素也符合条件,再继续下一个元素下一个元素不符合条件了,返回 false,不再往下继续判断

注意:需要定义一个参数去接受布尔值。并且在判断过程中一旦有一个不符合条件,就不再往下判断了,直接返回 false,但是全满足条件才返回 true。参数不需要的话也不可省略(或者从后往前省略,因为顺序是固定的,第一位的就是当前值,第二位的就是当前值的索引)

 创作不易,给个支持吧!!!

本文链接地址:https://www.jiuchutong.com/zhishi/295364.html 转载请保留说明!

上一篇:Three.js--》实现3d小岛模型搭建(three.js gui)

下一篇:input详解之文件上传(input 文件)

  • 电子商务网店的建设策划(电子商务网店的类型有哪些)

    电子商务网店的建设策划(电子商务网店的类型有哪些)

  • oppo手机怎么找回删除的图片和视频(oppo手机怎么找隐藏照片)

    oppo手机怎么找回删除的图片和视频(oppo手机怎么找隐藏照片)

  • 微信朋友圈字多了为什么显示不出来(微信朋友圈字多了怎么显示不出来)

    微信朋友圈字多了为什么显示不出来(微信朋友圈字多了怎么显示不出来)

  • 电脑版WPS怎么把照片弄到表格里面(电脑版wps怎么把字体调大)

    电脑版WPS怎么把照片弄到表格里面(电脑版wps怎么把字体调大)

  • realme手机是什么牌子(realme手机官网)

    realme手机是什么牌子(realme手机官网)

  • 微信文件传输助手怎么删除(微信文件传输助手是真人吗)

    微信文件传输助手怎么删除(微信文件传输助手是真人吗)

  • 新版qq已读功能在哪里(qq已读功能什么时候出)

    新版qq已读功能在哪里(qq已读功能什么时候出)

  • qq怎么定青少年模式(qq怎么设置青少年保护模式)

    qq怎么定青少年模式(qq怎么设置青少年保护模式)

  • qq电话对方暂时无法接通是怎么回事(qq电话对方暂时无人接听)

    qq电话对方暂时无法接通是怎么回事(qq电话对方暂时无人接听)

  • 电脑显示器黑屏但灯亮一闪一闪的(电脑显示器黑屏但灯亮主机正常运行)

    电脑显示器黑屏但灯亮一闪一闪的(电脑显示器黑屏但灯亮主机正常运行)

  • airpods声音突然变大(airpods声音突然很大)

    airpods声音突然变大(airpods声音突然很大)

  • 快手推广审核中是什么情况(快手推广审核未通过会退款吗)

    快手推广审核中是什么情况(快手推广审核未通过会退款吗)

  • 苹果无法下载小红书怎么办(苹果无法下载小蝌蚪)

    苹果无法下载小红书怎么办(苹果无法下载小蝌蚪)

  • qq情侣空间怎么看之前跟谁开过(qq情侣空间怎么改相恋日期)

    qq情侣空间怎么看之前跟谁开过(qq情侣空间怎么改相恋日期)

  • 服务器与电脑的区别(服务器与电脑的网速是多少)

    服务器与电脑的区别(服务器与电脑的网速是多少)

  • ipad耳机模式怎么取消(ipad耳机模式怎么取消进水)

    ipad耳机模式怎么取消(ipad耳机模式怎么取消进水)

  • 苹果x红外线灯怎么设置(苹果x红外坏了怎么办)

    苹果x红外线灯怎么设置(苹果x红外坏了怎么办)

  • 抖音点赞为什么看不见(抖音点赞为什么喜欢里面没有)

    抖音点赞为什么看不见(抖音点赞为什么喜欢里面没有)

  • p30支持40w快充吗(华为p30支持44w快充吗)

    p30支持40w快充吗(华为p30支持44w快充吗)

  • 巧影哪个版本有色度键(巧影哪个版本好用)

    巧影哪个版本有色度键(巧影哪个版本好用)

  • 微信头像换不了是什么原因(微信头像换不了,说由于系统维护换不了怎么办)

    微信头像换不了是什么原因(微信头像换不了,说由于系统维护换不了怎么办)

  • Win11如何解决界面不断刷新 Win11界面不断刷新解决方法

    Win11如何解决界面不断刷新 Win11界面不断刷新解决方法

  • Cusco Cathedral on the Plaza de Armas, Cusco, Peru (© sharptoyou/Shutterstock)

    Cusco Cathedral on the Plaza de Armas, Cusco, Peru (© sharptoyou/Shutterstock)

  • 帝国cms附表如何分表(帝国cms使用手册)

    帝国cms附表如何分表(帝国cms使用手册)

  • python怎样使用read读取不同类型文件(python rem)

    python怎样使用read读取不同类型文件(python rem)

  • 因租赁形成的使用权资产
  • 赠送代金券的广告语
  • 年终奖12月份计提少了
  • 企业所得税必须计提吗?什么时候计提?
  • 营业成本占营业收入比重较低的原因
  • 预付材料购货款计入什么科目
  • 注册地址与实际办公地址不一致怎么办
  • 企业开办时间是什么意思
  • 合同款未付怎么写欠条
  • 单位投资非盈利性组织怎样核算
  • 逾期缴纳车辆购置税后情况说明怎么写
  • 捐赠财产
  • 医院减免医药费后还可以报保险吗
  • 企业收到票据背书转让给其他公司怎么做会计处理?
  • 自然人独资属于个体工商户吗?
  • 解聘职工赔偿工资包括哪些
  • 异地工程预缴个税
  • 免税发票还可以开吗
  • 半成品牛排有营养吗
  • 外籍人员来华工作
  • 应征增值税不含税销售额和免税销售额
  • 按照税收一般规定计算的折旧摊销金额
  • 会计科目未付利润属于哪个科目
  • 开启共享文件夹
  • 公司减少注册资本时,应当自作出减少
  • win10系统还原了怎么恢复
  • 明股实债和明债实股
  • 开出去的普票可以用专票抵扣吗
  • 正常开机进不去系统
  • consolo application
  • php yeid
  • PHP:pcntl_wifexited()的用法_PCNTL函数
  • 公司赞助是什么意思
  • 中科院怎么赚钱
  • web应用程序的主要组成部分
  • 为什么我们认为北京人已经学会使用火
  • 第十四届中国大学生数学竞赛
  • 总结js中常用的字符
  • 原材料用于在建工程,进项税为什么不转出
  • 小规模增值税减征额怎么算
  • 企业合并财务报表项目有哪些
  • mongodb数据删除
  • 固定资产是价税合计吗
  • 新企业职工工资怎么算
  • 研发人员具备的条件
  • 商业汇票如何申请操作
  • mysql load local
  • 法人一直把公户账户转账
  • 公司投资款如何返还给股东
  • 宾馆收入怎么做账
  • 境外所得税税收抵免操作指南
  • 装订凭证如何穿线
  • 往来账目
  • 个税 退手续费
  • 其他应付款冲账摘要怎么写
  • 公司从员工工资扣水电费
  • 车辆购置税的税目有哪些
  • 往来会计岗位职责怎么写
  • 建筑企业材料费能否加计扣除
  • mysql 5.7.34安装
  • Linux下MySQL 5.6.27 安装教程
  • sqlserver批量删除数据
  • suse 10.3 安装http apche2时遇到的rpm依赖问题的解决方法
  • 无光驱无u盘重装系统
  • linux的总结
  • 从哪里看windows是多少位的
  • 怎样修改linux用户名和密码
  • Win10 Mobile 10586.306提前上手视频评测
  • 微软 系统设计
  • 铁嘴银牙剧情简介
  • nodejs爬取数据
  • js创建元素
  • Nodejs sublime text 3安装与配置
  • AngularJs ng-change事件/指令的用法小结
  • 批处理查找字符中含有等号的子串
  • 炉石传说架是什么意思
  • excel自定义控件
  • 税务所是县级机构吗
  • 税务官网怎么登录账号
  • 税务年报截止日期2022
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设