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

  • 怎么新建word空白文档(怎么新建word空白文档并命名)

    怎么新建word空白文档(怎么新建word空白文档并命名)

  • 抖音获得合集权限的方法有哪些(抖音合集权限怎么修改)

    抖音获得合集权限的方法有哪些(抖音合集权限怎么修改)

  • 无效视频什么意思(无效视频是什么)

    无效视频什么意思(无效视频是什么)

  • 苹果手机直播卡顿怎么解决(苹果手机直播卡怎么回事)

    苹果手机直播卡顿怎么解决(苹果手机直播卡怎么回事)

  • 手机散热器对手机有影响吗(手机散热器对手机电池有影响吗)

    手机散热器对手机有影响吗(手机散热器对手机电池有影响吗)

  • 爆米花视频怎么搜索不了(爆米花视频怎么没有搜索功能)

    爆米花视频怎么搜索不了(爆米花视频怎么没有搜索功能)

  • bugreport是什么意思(bugreport文件)

    bugreport是什么意思(bugreport文件)

  • 悟空问答是什么(悟空问答是干嘛的)

    悟空问答是什么(悟空问答是干嘛的)

  • 韩剧tv投屏点了没反应(韩剧tv投屏投不上怎么办)

    韩剧tv投屏点了没反应(韩剧tv投屏投不上怎么办)

  • 拨号失败,无法连接到通话网络是怎么回事(拨号失败无法连接到网络是什么问题)

    拨号失败,无法连接到通话网络是怎么回事(拨号失败无法连接到网络是什么问题)

  • 苹果27寸一体机 尺寸(苹果27寸一体机 2014 换固态)

    苹果27寸一体机 尺寸(苹果27寸一体机 2014 换固态)

  • iphone6p电池多少毫安(iphone6plus电池多大)

    iphone6p电池多少毫安(iphone6plus电池多大)

  • vivo三个按键设置方法(vivo三个按键在哪设置)

    vivo三个按键设置方法(vivo三个按键在哪设置)

  • 苹果x双摄像头怎么用(苹果手机双摄像头是苹果几)

    苹果x双摄像头怎么用(苹果手机双摄像头是苹果几)

  • word文档如何设置每页行数(word文档如何设置页码)

    word文档如何设置每页行数(word文档如何设置页码)

  • 手机死机开不了机怎么办(vivo手机死机开不了)

    手机死机开不了机怎么办(vivo手机死机开不了)

  • icpms全称是什么(icp-ms全称)

    icpms全称是什么(icp-ms全称)

  • 计算机中ac代表什么(计算机中ac表示什么)

    计算机中ac代表什么(计算机中ac表示什么)

  • 多多果园如何抽中化肥(多多果园天天抽奖奖励在哪里)

    多多果园如何抽中化肥(多多果园天天抽奖奖励在哪里)

  • 苹果自带测距在哪里(iphone自带测距)

    苹果自带测距在哪里(iphone自带测距)

  • 苹果的隐私相册在哪(苹果的隐私相册怎么打开)

    苹果的隐私相册在哪(苹果的隐私相册怎么打开)

  • 爱奇艺怎么开房间(爱奇艺小房间怎么开)

    爱奇艺怎么开房间(爱奇艺小房间怎么开)

  • 贝纳斯克,西班牙韦斯卡 (© Miscelleneoustock/Alamy)(贝纳克波斯图干红葡萄酒)

    贝纳斯克,西班牙韦斯卡 (© Miscelleneoustock/Alamy)(贝纳克波斯图干红葡萄酒)

  • (详解错误情况,及解决方法)Vue 数据更新了但页面没有更新的情况(错误解决方法)

    (详解错误情况,及解决方法)Vue 数据更新了但页面没有更新的情况(错误解决方法)

  • ps怎么把多余的人p掉(ps怎么把多余的p掉)

    ps怎么把多余的人p掉(ps怎么把多余的p掉)

  • 医疗机构销售药品需要销售记录吗
  • 所得税汇算清缴时间期限
  • 增值税税控系统技术维护费怎么做账
  • 小规模纳税人零申报逾期未申报
  • 普票不能抵扣要坐在帐里吗
  • 运输企业印花税按什么缴纳
  • 待抵扣进项税额分录
  • 境外企业在境内取得的收入所得税
  • 外商投资企业退出条件
  • 个人房产房租收入怎么算
  • 组织职工捐款取得的现金计入什么会计科目?
  • 应付账款是负数怎么回事
  • 初始数据试算表不平衡的原因
  • 广告宣传怎么开发票
  • 进口增值税未抵扣怎么办
  • 转出未交增值税怎么算
  • 一般纳税人外经证预缴怎样缴费
  • 职工工资个人所得税缴纳标准
  • 到底如何理解参数方程
  • 淘宝店铺毛利率多少是正常
  • 普通发票上个月的怎么作废
  • 自产货物自用账务处理
  • 土地补偿款会议记录范文
  • 如何安装电脑系统程序
  • 员工的餐费补助怎么算
  • 对公帐户收款
  • 小规模纳税人结转免交增值税
  • 货款形式返还
  • nvm安装及全局配置node
  • vue多模块多项目集成
  • 巴拉诺维奇市
  • 政府划入资产会计处理
  • 购买财务软件会有操作流程吗
  • 二手车过户需要带什么资料
  • 详解 HttpServletResponse
  • 蓝桥杯第十四届模拟赛第三期
  • React Hook - useState函数的详细解析
  • opencv语句
  • ChatGPT助力校招----面试问题分享(四)
  • yii2.0框架
  • php如何上传文件
  • rabbitmq中文手册
  • 网上银行回单可以做账吗
  • 物业会计账务处理大全
  • mongodb好用吗
  • 工资税预扣
  • 个税返还手续费怎么做账
  • 弥补以前年度亏损报表怎么填
  • 建筑公司项目如何上手
  • 汽车装修费计入哪个科目
  • 企业年底亏损怎么结转
  • 应收账款确认无法收回,确认为坏账损失
  • 招待费用的进项发票可以抵扣吗
  • 建筑图纸设计费多少钱
  • 费用化是计入当期损益吗
  • 哪些行业不能开电子发票
  • 企业印花税率
  • 预付账款属于资产项目吗
  • 母公司及子公司增资
  • 毛利率计算公式
  • win8怎么设置指纹
  • 如何设置windows
  • linux中samba服务器的设计方案
  • window组件在哪里
  • deepin-win
  • smsmon32.exe - smsmon32是什么进程
  • puppset
  • fsm32.exe是什么进程 有什么作用 fsm32进程查询
  • win7如何设置多个显示器
  • 在linux系统中,用来存在系统所需
  • 在linux系统中,用来存放系统所需要的配置文件和子目录
  • win7系统更新显卡驱动后黑屏无法启动
  • 命令窗口的作用
  • Git 创建分支提交远程分支详解
  • 批处理提取文件夹中的文件
  • unity3d 脚本
  • js实现@功能
  • python数据类型总结
  • 江苏税务新办企业套餐
  • 皇家税务与海关署
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设