位置: 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 文件)

  • 苹果se2能支持面容识别吗(苹果se2支持面容吗)

    苹果se2能支持面容识别吗(苹果se2支持面容吗)

  • 无法降级安装怎么解决(无法降级安装怎么办呢)

    无法降级安装怎么解决(无法降级安装怎么办呢)

  • 通用里面没有辅助功能(通用没有辅助功能怎么办)

    通用里面没有辅助功能(通用没有辅助功能怎么办)

  • 荣耀magic手表可以看微信吗(荣耀magic手表可以游泳)

    荣耀magic手表可以看微信吗(荣耀magic手表可以游泳)

  • 鼠标空键程是什么意思(鼠标空键程需要更换吗)

    鼠标空键程是什么意思(鼠标空键程需要更换吗)

  • 天猫精灵按钮可以更换电池吗(天猫精灵chh功能)

    天猫精灵按钮可以更换电池吗(天猫精灵chh功能)

  • 打印机感光鼓在哪(打印机感光鼓断开怎么弄)

    打印机感光鼓在哪(打印机感光鼓断开怎么弄)

  • 为什么闲聊提现迟迟不到(为什么闲聊提现不成功)

    为什么闲聊提现迟迟不到(为什么闲聊提现不成功)

  • 华为nova6怎么设置时间在屏幕上(华为nova6怎么设置时间24小时)

    华为nova6怎么设置时间在屏幕上(华为nova6怎么设置时间24小时)

  • 探探超级曝光是干嘛的(探探超级曝光好贵)

    探探超级曝光是干嘛的(探探超级曝光好贵)

  • 切换蜂窝移动有什么用(切换蜂窝数据跳不到主卡)

    切换蜂窝移动有什么用(切换蜂窝数据跳不到主卡)

  • 抖音怎么在结尾加音乐(抖音怎么在结尾加自己的头像)

    抖音怎么在结尾加音乐(抖音怎么在结尾加自己的头像)

  • 手机怎么去照片水印(手机怎么去照片背景)

    手机怎么去照片水印(手机怎么去照片背景)

  • 微信怎么发30秒视频(微信怎么发30秒以上视频)

    微信怎么发30秒视频(微信怎么发30秒以上视频)

  • 微信消息撤回不了怎么办(微信的信息撤回不了怎么办)

    微信消息撤回不了怎么办(微信的信息撤回不了怎么办)

  • 如何发送淘宝店铺链接(淘宝店铺怎么发布)

    如何发送淘宝店铺链接(淘宝店铺怎么发布)

  • 华为生活服务是干嘛的(华为生活服务是什么功能)

    华为生活服务是干嘛的(华为生活服务是什么功能)

  • 苹果11什么时候出售(苹果11什么时候下架停产)

    苹果11什么时候出售(苹果11什么时候下架停产)

  • 抖音刷赞会被限流封号吗

    抖音刷赞会被限流封号吗

  • 如何下载荔枝视频

    如何下载荔枝视频

  • realme手机什么系统(realme系列)

    realme手机什么系统(realme系列)

  • 段前分页在哪里设置(段前分页与分页符有什么区别)

    段前分页在哪里设置(段前分页与分页符有什么区别)

  • 将wifi信号转为有线(将wifi信号转成网线)

    将wifi信号转为有线(将wifi信号转成网线)

  • 绿萝用什么土比较好养(绿萝 用什么土)

    绿萝用什么土比较好养(绿萝 用什么土)

  • Corjuem堡垒,印度果阿邦 (© Ingvar Kuznetsov/Shutterstock)(堡垒封印)

    Corjuem堡垒,印度果阿邦 (© Ingvar Kuznetsov/Shutterstock)(堡垒封印)

  • yolov5 anchors 中 K-means聚类

    yolov5 anchors 中 K-means聚类

  • 以房抵债的房子交房产税吗
  • 小规模纳税人可以收专票吗
  • 什么原始凭证可以填写
  • 天然气管道维修收费标准
  • 国际货运代理企业应当遵循哪些原则
  • 个人注册公司有什么优惠政策
  • 福利费进项税额转出会计分录账务处理
  • 社会团体财务手册怎么写
  • 退休工资的个人账户怎么算
  • 其他综合收益转入留存收益还是投资收益
  • 银行汇票怎么填写
  • 以前年度损益调整结转到哪里
  • 增值税税负多少算高
  • 17增值税发票怎么计算
  • 电脑变成代码打不开怎么办
  • 怎么核算外汇业务
  • 无车承运业务如何开展
  • 房产契税什么时候可以退
  • 小规模企业其他业务收入税率
  • 发票和款未付可以抵扣吗
  • 事业单位收到开办费的会计分录
  • 反射调用set方法
  • PHP:Memcached::replace()的用法_Memcached类
  • Win11 Dev 预览版 Build 25300
  • 计提减值时注意什么
  • 涉税专业服务机构是什么
  • thinkphp invoke
  • 用应付票据付应付账款
  • 结算借款的账务处理办法
  • 变动成本法计算营业利润
  • 捐钱扶贫
  • thinkphp addons
  • 女方结婚申请
  • 应收账款为负数正常吗为什么
  • flip函数
  • 公办学校的会计
  • phpcms v9官网
  • 其他应付款的账户结构
  • sklearn实例
  • python send_from_directory
  • 对c++的认识与体会
  • 出口退税在贷方,之后还交税吗
  • 应付账款尾差如何处理
  • 专项扣除影响实绩吗
  • 记账凭证附件粘贴
  • 其他综合收益的税后净额怎么计算
  • 新会计准则股权投资
  • 公司网站设计怎么做
  • 赠送给客户的商品是否要计入费用?
  • 暂估入库跨年账务危险
  • 其他权益工具投资是金融资产吗
  • 用友t3软件的系统内没有利润表模块
  • 价内税与价外税的计算公式
  • 城建税如何计提税金
  • 实收资本未到位
  • 咨询公司评估选择标准
  • 事业单位实收资本如何做账
  • 开立银行承兑汇票利率
  • 怎样分辨假钱
  • 非同一控制下企业合并发生的审计费
  • 应付账款与应付票据结合的原则
  • 小规模免增值税吗
  • 培训费用支出
  • 记账凭证原始凭证回单的粘贴顺序
  • 职工福利费的核算内容
  • mysql子查询嵌套查询
  • ubuntu18.04 设置静态ip
  • Olehelp.exe - Olehelp是什么进程 有什么用
  • win7 设置
  • unity3d ide
  • JavaScript实现Base64编码转换
  • js删除数组中某一个对象
  • 你有一份来信
  • 在js里写html
  • shell脚本循环复制文件
  • Unity3D Vuforia Android 相机调焦
  • javascript面向对象精要
  • socks5代理怎么用
  • 开票网线属于哪一类
  • 增值税普通发票和电子普通发票的区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设