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

  • vivox70蓝牙在哪里(vivo 70s蓝牙设置在哪里)

    vivox70蓝牙在哪里(vivo 70s蓝牙设置在哪里)

  • 优酷vip怎么升级酷喵vip(优酷vip怎么升级快)

    优酷vip怎么升级酷喵vip(优酷vip怎么升级快)

  • 苹果平板A2602是什么型号(苹果平板a2602是多大尺寸屏幕)

    苹果平板A2602是什么型号(苹果平板a2602是多大尺寸屏幕)

  • vivos6有没有超广角呢(vivos6有超级截屏吗)

    vivos6有没有超广角呢(vivos6有超级截屏吗)

  • 乐源机器人怎么联网(乐源机器人怎么和手机连接)

    乐源机器人怎么联网(乐源机器人怎么和手机连接)

  • 数据漫游是开还是不开(数据漫游开了会扣费吗)

    数据漫游是开还是不开(数据漫游开了会扣费吗)

  • 喜马拉雅听着听着就断了怎么回事(喜马拉雅听着听着就自动停播华为)

    喜马拉雅听着听着就断了怎么回事(喜马拉雅听着听着就自动停播华为)

  • 抖音本地视频怎么加道具(抖音本地视频怎么没有了)

    抖音本地视频怎么加道具(抖音本地视频怎么没有了)

  • 音响怎么插在电脑上(音响怎么插电视传输声音)

    音响怎么插在电脑上(音响怎么插电视传输声音)

  • 尾注和交叉引用的区别(尾注交叉引用怎么设置[1])

    尾注和交叉引用的区别(尾注交叉引用怎么设置[1])

  • 苹果x4g信号突然消失(为什么iphone忽然信号变成四个点)

    苹果x4g信号突然消失(为什么iphone忽然信号变成四个点)

  • 手机欠费wifi还能用吗(手机欠费了wifi)

    手机欠费wifi还能用吗(手机欠费了wifi)

  • 手机激活了怎么传数据(手机激活了怎么把手机同步数据)

    手机激活了怎么传数据(手机激活了怎么把手机同步数据)

  • 在excel中文本型数据默认的对齐方式是(在Excel中文本型数据包括)

    在excel中文本型数据默认的对齐方式是(在Excel中文本型数据包括)

  • 4g最高网速多少(4g最高网速多少G)

    4g最高网速多少(4g最高网速多少G)

  • ip是面向连接的协议吗(ip是面向连接的什么)

    ip是面向连接的协议吗(ip是面向连接的什么)

  • 手机qq音乐头像怎么换(手机qq音乐头像怎么和qq同步)

    手机qq音乐头像怎么换(手机qq音乐头像怎么和qq同步)

  • iphonex无面容能修吗(iphonex无面容能拍照吗)

    iphonex无面容能修吗(iphonex无面容能拍照吗)

  • 联发科heliox20相当于骁龙什么(联发科 x20)

    联发科heliox20相当于骁龙什么(联发科 x20)

  • wps删除空白行(WPS删除空白行excel快捷键)

    wps删除空白行(WPS删除空白行excel快捷键)

  • 华为p30怎么拍广角(华为p30拍广角怎么拍)

    华为p30怎么拍广角(华为p30拍广角怎么拍)

  • 手机自动黑屏怎么回事(手机自动黑屏怎么打开)

    手机自动黑屏怎么回事(手机自动黑屏怎么打开)

  • qq邮箱最大可以发多大的文件(qq邮箱最大可以发送多大的压缩包)

    qq邮箱最大可以发多大的文件(qq邮箱最大可以发送多大的压缩包)

  • 如何找回原先的火山号(如何找回原先的微信)

    如何找回原先的火山号(如何找回原先的微信)

  • 暂估冲回账务处理
  • 增值税发票的红章压到金额没有关系吧
  • 红字发票需要认证吗之前的发票还有用吗
  • 减免房产税土地使用税 账务处理
  • 开出商业承兑汇票到期会计分录
  • 房产交房前开发商要办齐的手续
  • 金融业的企业
  • 通行费抵扣入账会计分录?
  • 公司买车付首付款个人还贷怎么做会计分录
  • 委托贷款利息收入账务处理
  • 医院业务支出包括哪些内容科目
  • 营改增的相关规定
  • 小规模纳税人预缴增值税
  • 运输企业营改增
  • 工资五险一金和税怎么处理
  • 文化传媒行业会计
  • 附加税记入什么科目
  • 发票密码区出格了怎么调整
  • 销售方开票不填开户行
  • 企业所得税清算报备是什么意思
  • 缴纳的教育费附加可以税前扣除吗
  • 中小企业费用管理
  • 销售原材料会计分录,款项已收
  • 企业发放贷款怎么做分录
  • MAC系统如何卸载重装安装W7系统
  • 红字发票怎么填申报表表二
  • 房地产行业需要做环评吗
  • 出口退税业务流程顺序
  • 如何从零开始制作地下偶像
  • 电脑下载的文件打不开怎么回事
  • 企业收到财政资金
  • 增值税转出未交增值税是什么意思
  • 成品油属于什么费用
  • Win11 Build 22454.1000 开发者预览版发布(附更新修改已知问题+安装)
  • info.exe
  • 委托去银行办理业务的委托书
  • 支票存根属于什么凭证类型
  • 购货折让会计分录
  • 债券溢折价是什么意思
  • yolov5使用
  • vue插槽的使用场景
  • 企业财务准则最新
  • 上年度会计凭证怎么填写
  • 家具入账固定资产怎么算
  • mysql好在哪里
  • mongodb启动命令 linux
  • 织梦系统
  • 投资性房地产递延所得税负债为什么计入其他综合收益
  • win2008iis安装
  • 建筑业 营改增
  • 企业所得税和个人所得税都要交吗
  • 财政补助收入的账务处理
  • 固定资产指的是几年度
  • 计提工资要附什么凭证
  • 赠送购物券的会计处理
  • 汇兑损益的税务处理
  • mysql5.7.19 winx64安装配置方法图文教程(win10)
  • linux怎么修改
  • freebsd重置密码
  • mac怎么切换输入法
  • 电脑操作系统7
  • pe硬盘安装win7系统教程
  • mac怎么连接打印机设备
  • linux init.h
  • windows10快速操作在哪
  • win7系统和win8系统哪个好用
  • ubuntu 软件删除
  • linux shell 字符串转数字
  • python数据结构与算法分析 第2版(图灵出品)
  • [置顶]马粥街残酷史
  • 浅析Javascript ES6中的原生Promise
  • android新手入门
  • Linux 中的通配符详解及实例
  • Javascript字符串奇数位替换
  • jq form提交
  • 怎么在年报查询个人信息
  • 土地增值税的房屋转让指出售 赠与
  • 国家税务总局关于税务机构改革有关事项的公告
  • 消费税包装物押金和增值税一致吗
  • 税务申报按季度申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设