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

  • 网络电商微博营销推广怎么做最好?(微博电商服务平台)

    网络电商微博营销推广怎么做最好?(微博电商服务平台)

  • iphone13支持息屏显示功能吗(iphone13支持息屏显示你好)

    iphone13支持息屏显示功能吗(iphone13支持息屏显示你好)

  • 华为nova7pro电池是多大毫安(华为nova7pro电池多少钱一块)

    华为nova7pro电池是多大毫安(华为nova7pro电池多少钱一块)

  • 华为nova7微信如何加密(华为nova7微信如何共享存储空间)

    华为nova7微信如何加密(华为nova7微信如何共享存储空间)

  • 微信群的维护技巧(微信群的维护话术)

    微信群的维护技巧(微信群的维护话术)

  • c语言中==是什么意思(c语言中是什么运算符)

    c语言中==是什么意思(c语言中是什么运算符)

  • 打印机漏粉是什么原因(打印机漏粉是什么意思)

    打印机漏粉是什么原因(打印机漏粉是什么意思)

  • qq来消息怎么不悬浮(qq来消息怎么不显示内容)

    qq来消息怎么不悬浮(qq来消息怎么不显示内容)

  • 华为手机屏幕显示不全(华为手机屏幕显示黑白怎么恢复)

    华为手机屏幕显示不全(华为手机屏幕显示黑白怎么恢复)

  • oppo有隐私空间吗(oppo隐私空间怎么打开)

    oppo有隐私空间吗(oppo隐私空间怎么打开)

  • 华为nova6耗电快怎么办(华为nova6很费电)

    华为nova6耗电快怎么办(华为nova6很费电)

  • 大数据应用领域成就有哪些(下列哪些属于大数据应用领域)

    大数据应用领域成就有哪些(下列哪些属于大数据应用领域)

  • 云储存在哪里(苹果手机云储存在哪里)

    云储存在哪里(苹果手机云储存在哪里)

  • 华为nova6智能辅助在哪(华为nova智能辅助在哪里)

    华为nova6智能辅助在哪(华为nova智能辅助在哪里)

  • 腾讯微云怎么在线观看(腾讯微云怎么在QQ打开)

    腾讯微云怎么在线观看(腾讯微云怎么在QQ打开)

  • 荣耀p20和p20pro区别(荣耀p20和荣耀20pro区别)

    荣耀p20和p20pro区别(荣耀p20和荣耀20pro区别)

  • 背景在哪个选项卡(背景在哪个选项里面)

    背景在哪个选项卡(背景在哪个选项里面)

  • 户户通怎么升级(户户通怎么升级高清)

    户户通怎么升级(户户通怎么升级高清)

  • 手机wps怎么复制(手机wps怎么复制表格到另一个文档)

    手机wps怎么复制(手机wps怎么复制表格到另一个文档)

  • 手机qq怎么封存说说(手机qq怎么封号)

    手机qq怎么封存说说(手机qq怎么封号)

  • 手机忘了开机密码怎么办(手机开机密码忘了怎么办)

    手机忘了开机密码怎么办(手机开机密码忘了怎么办)

  • 迅雷播放器怎么设置循环播放(迅雷播放器怎么旋转画面)

    迅雷播放器怎么设置循环播放(迅雷播放器怎么旋转画面)

  • iphone11带无线耳机吗(iphone 11耳机有线还是无线)

    iphone11带无线耳机吗(iphone 11耳机有线还是无线)

  • 怎么撤销投诉(黑猫投诉平台怎么撤销投诉)

    怎么撤销投诉(黑猫投诉平台怎么撤销投诉)

  • 苹果xr屏幕录制在哪里(苹果xr屏幕录制怎么设置)

    苹果xr屏幕录制在哪里(苹果xr屏幕录制怎么设置)

  • 暴风影音如何调整视频方向(暴风影音如何调整字幕)

    暴风影音如何调整视频方向(暴风影音如何调整字幕)

  • 管理微软帐户中的各项隐私项(微软系统管理员账号)

    管理微软帐户中的各项隐私项(微软系统管理员账号)

  • 从0到1带你搭建一个vue3.0项目(vue-cli脚手架版)(搭建小技巧)

    从0到1带你搭建一个vue3.0项目(vue-cli脚手架版)(搭建小技巧)

  • 去税局更正申报需要什么资料,忘记带营业执照
  • 个人所得税累计扣除标准
  • 转出多交增值税最后怎么做平
  • 以前年度应收账款无法收回的账务处理
  • 小微企业免税销售额和未达起征点销售额
  • 公司购买厂房需要交房产税吗
  • 固定资产缩水
  • 一般纳税人购入商品取得普通发票
  • 递延收益怎么入账
  • 已收款未开票未发货能确认收入吗
  • 购买商标权税率多少
  • 关联方费用分摊是否要调账
  • 货款为现金如何做记账账款凭证?
  • 固定资产的发票
  • 小规模纳税人可以转为一般纳税人吗?
  • 公积金账户收入
  • 增值税专用发票几个点
  • 减免的土地出让金销项税额可以抵减吗
  • 小规模纳税人开专票税率是1%还是3%
  • 免税项目进项税为什么不可以抵扣
  • 库存暂估入账
  • 不可抗力后果承担
  • 审计报告报备流程
  • 资源税的征税对象和纳税环节
  • 会计核算的主要依据是什么
  • 附加税包括哪些税种2021年
  • 车间废品如何做账
  • 公司房产税如何征收税率
  • 交易性金融资产入账价值怎么计算
  • win10 专业版 企业版
  • 电缆与变压器连接有何规定
  • 净资产收益率公式推导
  • 小规模防伪税控服务费280元
  • 公司增资怎么做
  • win10怎么删除电脑开机密码设置
  • iphone如何录音转文字
  • 企业所得税避税的方法
  • 耕地占用税的具体内容
  • dl是什么文件
  • 天竺葵的养殖方法和繁殖方法
  • 期票是不是承兑汇票
  • 购车的车辆购置税怎么交
  • 科技推广和应用服务业行业
  • deepwiser怎么用
  • 折旧和摊销的区别通俗
  • 盘盈的存货计入哪个科目
  • 网络安全网页设计作品构思
  • bluetooth hci0 command timeout
  • php框架自动加载
  • 员工工资费用
  • 客运收费标准
  • 税控盘没有报税处理这个选项
  • 餐费补贴是否计提
  • js调用自己
  • 进货该怎么进
  • 手续费及佣金支出核算
  • 快递收据能报销吗
  • 为什么收到要发1
  • sql server 用法
  • 银行承兑汇票是表内还是表外业务
  • 商标注册费2000元记哪个科目
  • 样机 研发费用归集与核算
  • 材料会计的内容
  • 银行取备用金最多能取多少
  • 个税里的年金是指
  • 税控盘费和服务费一样吗
  • 物业管理企业应当与居委会共同做好什么工作
  • mysql安装包和免安装的区别
  • mac虚拟机安装教程win10正版
  • win10睡眠什么意思
  • 使用微软
  • win10mobile下载官网
  • android 相对布局居中
  • ExtJS PropertyGrid中使用Combobox选择值问题
  • python之父推荐的书
  • 新都税务局咨询电话号码
  • 怎么查询12345的验证码
  • 惠州市公交车投诉平台
  • 郝姓家谱辈分查询
  • 税务申报扣除
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设