位置: IT常识 - 正文

JS总结——数组,对象遍历的方法(js数组方法大全)

编辑:rootadmin
JS总结——数组,对象遍历的方法

推荐整理分享JS总结——数组,对象遍历的方法(js数组方法大全),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js数组方法总结,js数组方法总结,js数组常用操作,js的数组,js数组entries,js数组entries,js数组方法总结,js的数组,内容如对您有帮助,希望把文章链接给更多的朋友!

对于数组或者对象的遍历,筛选,提取等操作是前端开发中经常有的需求,不要再只会写普通的for循环了,虽然普通的for循环已经能完成一切的功能的,是一个特殊方法,但是针对各种需求,js给我们提供了许多方法,来更优雅的遍历,来学习一下吧!

1. for in

for in 循环,数组和对象都可以遍历,item为array的下标,或者object的key这样的代码,比起for循环可读性能强一些。

2.for of

与for in 不同的是,for of只能遍历数组,item为数组元素的值

3.Object.keys/values/entries

上面提到了for of无法遍历对象,那么我们还想通过for of遍历对象怎么办呢 那我们就可以用到以上三个方法了

var obj = { a:1, b:2, c:3, d:4, e:5 } console.log(Object.keys(obj)) console.log(Object.values(obj)) console.log(Object.entries(obj))

可见,for of无法遍历对象,但我们可以通过Object.keys/values/entries将对象的keys,values或者keys和values转化为数组,借此遍历

for(var key of Object.keys(obj)){ console.log(key) } for(var value of Object.values(obj)){ console.log(value) } for(var [key,value] of Object.entries(obj)){ console.log(key,value) }

至此,我们就用for of +Object.keys/values/entries将数组的keys或者values遍历出来了。

以下的forEach,map,filter,some和every可以一起记忆3.arr.forEachJS总结——数组,对象遍历的方法(js数组方法大全)

一下就都是遍历数组的方法了,如果想遍历对象,也同上的for of一样,将对象的keys或values转化为数组再进行遍历。

forEach的第一个参数是一个函数,可以是箭头函数,也可以是普通函数,看需求进行选择,该函数将在每一次数组元素被遍历时执行forEach的第二个参数是一个对象,如果指定了第二个参数,则**如果第一个参数是function,**function中的this会指向这个对象,如果第一个参数是箭头函数,那么由于箭头函数的特性,作用域将不会发生改变重点1: forEach第一个参数的函数中的传入的参数有三个分别为(item,index,arr),即数组当前数组的元素值,元素下标,和当前数组重点2:forEach没有返回值重点3:forEach不能使用break或continue关键字进行跳出循环,如果想跳出循环可以使用returnvar arr = [1,2,3,4,5]var obj = { a:1 }console.log( arr.forEach(function(item,index,arr){ console.log(item,index,arr) console.log(this)},obj)

4.arr.map

Map与forEach非常的用法非常相似,区别是forEach没有返回值,而Map有,使用Map可以返回一个与原数组有映射关系的数组

var arr = [1,2,3,4,5]var arr1 = arr.map(function(item,index,arr){ return item *2 }) console.log(arr1)

5.arr.filter

作用:过滤掉函数中返回false的元素

var arr = [1,2,3,4,5] var arr1 = arr.filter(function(item,index,arr){ if (index > 3) return true })

6.arr.some

作用:数组中只要有一个元素的返回值为true 返回值就为true,否则返回false

7.arr.every

作用:与arr.some刚好相反,数组中只要有一个元素的返回值为false,返回值就为false,只有全部返回值都为true,才返回true

8.arr.reduce

作用 :对数组进行遍历,返回一个值

重点1:reduce的第一个参数是一个函数,与前五个方法不同的是,此函数并非只有3个参数,而是由4个参数,分别为 (accumulator,currentValue,index,arr)如同其字面意思一样,这4个参数分别是累加器,当前元素值,当前元素下标,和整个数组重点2:reduce的第二个参数是一个值,该值为累加器的初始值,如果不指定初始值,则默认为0 var sum = [0,1,2,3,4].reduce(function(accumulator,currentValue,currentIndex,arr){ return accumulator + currentValue }) console.log(sum)

在数组的遍历过程中,累加器由每一个则执行的函数处理后传递给下一个执行的函数,最终返回出来。

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

上一篇:Vue3如何封装组件?(vue封装组建)

下一篇:C#构建Web服务项目实战(一)(c#创建web)

  • 荣耀play4tpro可以升级鸿蒙系统吗(荣耀play4tpro可以插内存卡吗)

    荣耀play4tpro可以升级鸿蒙系统吗(荣耀play4tpro可以插内存卡吗)

  • fseek函数的功能(fseek函数的用法举例)

    fseek函数的功能(fseek函数的用法举例)

  • 为什么华为悬浮窗开起来却显示不出来(为什么华为悬浮窗权限开了还是不可以)

    为什么华为悬浮窗开起来却显示不出来(为什么华为悬浮窗权限开了还是不可以)

  • 挂烫机灯不亮了也不工作了怎么回事(挂烫机灯不亮了怎么维修)

    挂烫机灯不亮了也不工作了怎么回事(挂烫机灯不亮了怎么维修)

  • 抖音里的回关怎么意思是什么(抖音里的回关怎么来的)

    抖音里的回关怎么意思是什么(抖音里的回关怎么来的)

  • iphonex屏幕3年保修政策(苹果x三年内可免费换屏吗)

    iphonex屏幕3年保修政策(苹果x三年内可免费换屏吗)

  • oppor17升级后开不了机(oppor17系统升级后没小欧了)

    oppor17升级后开不了机(oppor17系统升级后没小欧了)

  • 佳能打印机显示p02什么意思(佳能打印机显示6E1是什么意思)

    佳能打印机显示p02什么意思(佳能打印机显示6E1是什么意思)

  • 全名k歌扫一扫在哪里(全名k歌怎么扫二维码)

    全名k歌扫一扫在哪里(全名k歌怎么扫二维码)

  • oppor11s尺寸长宽高(oppo r11s长宽)

    oppor11s尺寸长宽高(oppo r11s长宽)

  • 爱奇艺我的片段在哪里找(爱奇艺视频片段)

    爱奇艺我的片段在哪里找(爱奇艺视频片段)

  • 抖音上热门需要什么条件(抖音上热门需要多少钱)

    抖音上热门需要什么条件(抖音上热门需要多少钱)

  • 如何手机远程控制电脑(如何手机远程控制平板)

    如何手机远程控制电脑(如何手机远程控制平板)

  • iphone11无线充电多少瓦(iphone11无线充电多少w)

    iphone11无线充电多少瓦(iphone11无线充电多少w)

  • 一加7t充电功率(一加7 充电功率)

    一加7t充电功率(一加7 充电功率)

  • b站怎么设置退出后继续播放(b站怎么设置退出播放)

    b站怎么设置退出后继续播放(b站怎么设置退出播放)

  • 华为市场为什么没有网易云(华为市场为什么没有节奏大师)

    华为市场为什么没有网易云(华为市场为什么没有节奏大师)

  • 三星note10韩版和国行的区别(三星note10韩版和美版哪个好)

    三星note10韩版和国行的区别(三星note10韩版和美版哪个好)

  • word怎么链接到前一条页眉(word怎么链接到文章任意位置)

    word怎么链接到前一条页眉(word怎么链接到文章任意位置)

  • 苹果手机描述文件里面没有怎么办(苹果手机描述文件有安全隐患吗)

    苹果手机描述文件里面没有怎么办(苹果手机描述文件有安全隐患吗)

  • 安卓手机忘记密码(安卓手机忘记密码了怎样重置手机)

    安卓手机忘记密码(安卓手机忘记密码了怎样重置手机)

  • 混合变焦什么意思(混合变焦啥意思)

    混合变焦什么意思(混合变焦啥意思)

  • 右下角系统托盘中的基本图标不见了怎么办(系统托盘右键)

    右下角系统托盘中的基本图标不见了怎么办(系统托盘右键)

  • JAVA(java是什么意思)

    JAVA(java是什么意思)

  • 初中毕业可以考警察学校吗
  • 销售商品收到的银行本票
  • 基本账户可以转移吗
  • 报废固定资产产生的净损益属于利得吗
  • 租金收入需要缴增值税吗
  • 抵押住房属于
  • 银行承兑汇票怎么取钱
  • 财务费用汇兑损益是什么意思
  • 一般纳税人制作除尘器的制作费开票税率是多少
  • 收到补助款的会计分录
  • 应收账款管理应该从哪些方面进行
  • 银行现金解款单回单怎么填
  • 营改增劳务派遣
  • 开具红字专用发票的情形
  • 五证合一后地税编码怎么查
  • 延期申报的程序
  • 出租设备计提折旧记什么科目
  • 快递有发票快递如何收费
  • 收据是否当月入帐
  • c盘满了清理什么
  • 怎么修改以前年度的账
  • 会计核算的一般对象
  • 预缴税款忘记抵扣
  • ipssvc.exe - ipssvc是什么进程 有什么作用
  • php打开文件读取内容
  • 一般纳税人怎么交税
  • wordpress的文章在数据库里吗?
  • 期间费用转入本年利润
  • 小规模纳税人查询
  • 绿化费会计科目
  • 合伙养殖需要注意什么
  • Java8 Stream流Collectors.toMap当key重复时报异常(IllegalStateException)
  • 个人房屋出租税票怎么开
  • 记账软件的作用
  • 金税三期个税扣缴客户端
  • 材料成本差异的会计分录
  • jmeter接口串联
  • 盈余公积转增资本什么意思
  • find命令详解查找文件
  • okhttp3源码分析
  • 完美ui
  • mongodb部署安装
  • if三元表达式
  • 不动产进项税额抵扣新政策2021
  • 主营业务成本结转本年利润会计分录
  • sql server 2008使用说明
  • sql server 2008 新建数据库
  • mysql语句语法
  • 押金的增值税处理流程
  • 借款合同的
  • 小规模纳税人收普票和专票有什么区别
  • 残保金缴纳额计算公式
  • 增值税普通发票查询真伪
  • 已退货对方不开红字
  • 挂靠被查出来后挂靠费怎么处理?
  • 销售收入指开票金额吗
  • 公司发放给员工的福利又要回
  • 账簿凭证的管理要求
  • Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法
  • 当恢复系数e=1时碰撞属于什么碰撞
  • win7自带截图保存在哪个文件夹
  • win8系统打不开设置
  • ubuntu x
  • ubuntu安装visual studio2019
  • rhel7
  • win8系统打不开exe
  • 一、Unity3D 5.0.1-示例项目“汽车游戏”的展示及开发准备
  • OpenGl的glMatrixMode()函数理解
  • vue js 页面代码分离
  • 安卓如何取消长按电源键关机
  • unityhub安装unity出错
  • 安卓手机查看sd卡
  • js设置rem
  • js取反运算符
  • dom教学
  • unity打包后的程序闪退
  • javascript面向过程
  • 曲靖市税务局领导班子
  • 网上增值税发票验旧
  • 我国现行税率分
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设