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

  • 黑鲨4spro怎么开140帧(黑鲨4怎么打开)

    黑鲨4spro怎么开140帧(黑鲨4怎么打开)

  • vivox70pro+怎么设置自定义铃声(vivox70pro怎么设置门禁卡)

    vivox70pro+怎么设置自定义铃声(vivox70pro怎么设置门禁卡)

  • 脉脉收藏的职位在哪里(脉脉收藏的人脉卡片藏在哪里)

    脉脉收藏的职位在哪里(脉脉收藏的人脉卡片藏在哪里)

  • 怎么注销oppo账号(怎么注销oppo账号忘记密码)

    怎么注销oppo账号(怎么注销oppo账号忘记密码)

  • vivox50有红外线功能吗(vivox50有红外线发射功能吗)

    vivox50有红外线功能吗(vivox50有红外线发射功能吗)

  • 红米note7pro微信突然白屏(红米note7pro微信语音没声音)

    红米note7pro微信突然白屏(红米note7pro微信语音没声音)

  • wav是无损格式吗(wav是无损压缩格式吗)

    wav是无损格式吗(wav是无损压缩格式吗)

  • oppo手机无线网络连接不上怎么办(oppo手机无线网信号满格,但是用的时候却很差)

    oppo手机无线网络连接不上怎么办(oppo手机无线网信号满格,但是用的时候却很差)

  • k20pro重量多少克(k20pro参数配置重量)

    k20pro重量多少克(k20pro参数配置重量)

  • word2007文件打开超慢(2007打开docx)

    word2007文件打开超慢(2007打开docx)

  • 手机扬声器进水会恢复吗(手机扬声器进水了会自己好吗)

    手机扬声器进水会恢复吗(手机扬声器进水了会自己好吗)

  • 抖音显示隐藏了一个无效视频是什么意思(抖音显示隐藏了6个无效视频是什么意思)

    抖音显示隐藏了一个无效视频是什么意思(抖音显示隐藏了6个无效视频是什么意思)

  • 抖音怎样不看某些人作品(抖音怎样不看某些人)

    抖音怎样不看某些人作品(抖音怎样不看某些人)

  • 网速时好时坏和路由器有关系吗(网速忽好忽坏)

    网速时好时坏和路由器有关系吗(网速忽好忽坏)

  • 智能机什么时候普及的(智能机什么时候发行的)

    智能机什么时候普及的(智能机什么时候发行的)

  • 荣耀v30pro指纹在哪里(荣耀v30指纹锁)

    荣耀v30pro指纹在哪里(荣耀v30指纹锁)

  • 打印机怎么打测试页(打印机怎么打测试)

    打印机怎么打测试页(打印机怎么打测试)

  • 电脑wps表格怎么发送(电脑wps表格怎么调整表格大小)

    电脑wps表格怎么发送(电脑wps表格怎么调整表格大小)

  • word文档怎样打印双面(word文档怎样打出横线)

    word文档怎样打印双面(word文档怎样打出横线)

  • 华为mate30呼吸灯怎么设置(华为mate30呼吸灯怎么设置方法)

    华为mate30呼吸灯怎么设置(华为mate30呼吸灯怎么设置方法)

  • 淘宝亲情账号由谁付钱(淘宝亲情账号由什么组成)

    淘宝亲情账号由谁付钱(淘宝亲情账号由什么组成)

  • 电脑插上耳机没声音怎么办(电脑插上耳机没有显示输入设备)

    电脑插上耳机没声音怎么办(电脑插上耳机没有显示输入设备)

  • vivo手机里的照片怎么转移到U盘(vivo手机里的照片怎么传到华为手机里)

    vivo手机里的照片怎么转移到U盘(vivo手机里的照片怎么传到华为手机里)

  • 路由器三个灯亮为什么连不上网(路由器三个灯亮一个灯闪,连不上网)

    路由器三个灯亮为什么连不上网(路由器三个灯亮一个灯闪,连不上网)

  • 怎么把电脑格式化和新买来的一样(怎么把电脑格式化恢复出厂设置win7)

    怎么把电脑格式化和新买来的一样(怎么把电脑格式化恢复出厂设置win7)

  • 荣耀v20有红外线吗(荣耀v20有红外线遥控功能吗)

    荣耀v20有红外线吗(荣耀v20有红外线遥控功能吗)

  • 迅雷如何通过苹果验证(迅雷如何通过苹果支付)

    迅雷如何通过苹果验证(迅雷如何通过苹果支付)

  • mkbootdisk命令  建立启动盘(mkdir命令怎么用)

    mkbootdisk命令 建立启动盘(mkdir命令怎么用)

  • 劳务派遣公司企业所得税税率
  • 捐赠税前扣除比例表
  • 进项税转出的金额含税吗
  • 消费税的税目有多少
  • 计提环境保护税怎么做分录
  • 预算会计退回预付差旅费如何记账?
  • 什么公司不可以上市
  • 母公司及子公司借款要利息吗
  • 出口货物进项税怎样处理
  • 企业如何列支个人收入
  • 农产品进项抵扣及申报表填写案例
  • 计提增值税小于10万元
  • 工程分包开具发票怎么开
  • 进项交税吗
  • 酒店租金计入什么会计科目
  • 享受所得税减免优惠的生产性外商投资企业包括
  • 资产负债表货币资金与现金流量表的关系
  • 中央财政补贴政策
  • 业务人员出差住宿费记什么科目
  • 公司取得政府赔偿款要交增值税吗
  • "税务 政策"
  • 开普票可以抵扣进项票
  • 向职工出售住房
  • 一般纳税人交税标准是多少
  • 个人财产税是什么意思
  • win7为什么现在不能用了
  • 工程项目发包是什么意思
  • 冲抵备用金
  • 报销招待费的会计怎么做
  • php一个页面多个分页
  • 认缴注册是什么意思
  • 怎么将电脑硬盘做成移动硬盘
  • 特许权使用费属于无形资产吗
  • 改制后企业
  • 进项税额转出可以填负数吗
  • 资产处置收益科目借贷方向
  • thinkphp import
  • git代码提交规范
  • 多智能体概念
  • 数据库如何迁移数据库表
  • 专利年费缴纳详细流程
  • 应付短期租入固定资产的租金计入什么科目
  • 报销人和收款人是一个人
  • 固定资产投资额是指什么
  • 公司注销公章的处理
  • c语言http请求解析表单内容
  • 企业之间交换房地产要交土地增值税吗
  • 外购固定资产对公司影响
  • 住宿费开的增值税专用发票怎么记账
  • 税控盘上报
  • 预缴增值税可以抵扣销项税吗
  • 销售返利如何做账
  • 民非企业附加税计提和缴纳分录
  • 企业年度财务报告的保管期限为
  • 商标无形资产摊销计入什么科目
  • windows命令行使用
  • w10预览版新功能
  • ias.exe是什么程序
  • Centos 6.4 安装dnsmasq的方法
  • edge以ie
  • linux 多线程 写文件
  • linux 压缩rar
  • linuxzen
  • windows8开机启动项在哪里设置
  • 防火墙ddos攻击防范
  • cocos2dx2.2.5在iOS下加入Google AdMob可能会遇到的问题
  • 安卓手机引导模式设置
  • python基本入门
  • shell脚本运行linux命令
  • shell脚本运行linux命令
  • 安全的代码
  • unity3d脚本怎么用
  • unity网络通信框架
  • javascript常用类型
  • jQuery插件封装时如要实现链式编程,需要
  • js命名函数
  • 安徽省国家税务总局电子税务局
  • 银行存款利息收入现金流量表计入哪
  • 深圳蛇口社保局在哪里
  • 人人财富最新消息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设