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

  • 苹果照片小组件怎么设置喜欢的照片(苹果照片小组件为什么显示无可用内容)

    苹果照片小组件怎么设置喜欢的照片(苹果照片小组件为什么显示无可用内容)

  • iphone可以去掉运营商显示吗(iphone自带的运动)

    iphone可以去掉运营商显示吗(iphone自带的运动)

  • 实名制停机多久销号(实名制手机停机了多久会自动注销)

    实名制停机多久销号(实名制手机停机了多久会自动注销)

  • 西瓜视频搬运别人的行不(西瓜视频搬运别人视频会是原创吗)

    西瓜视频搬运别人的行不(西瓜视频搬运别人视频会是原创吗)

  • 全球公爵黑卡要充钱吗(全球公爵黑卡靠什么赚钱)

    全球公爵黑卡要充钱吗(全球公爵黑卡靠什么赚钱)

  • 怎么取消微信绑的手机号(怎么取消微信绑定的第三方应用)

    怎么取消微信绑的手机号(怎么取消微信绑定的第三方应用)

  • 金山文档文件已过期怎么办(金山文档文件已删除,请联系作者重新分享)

    金山文档文件已过期怎么办(金山文档文件已删除,请联系作者重新分享)

  • 华为p40与p40pro区别在哪里(华为p40与p40pro的区别 知乎)

    华为p40与p40pro区别在哪里(华为p40与p40pro的区别 知乎)

  • 微信解封人脸识别通不过怎么办

    微信解封人脸识别通不过怎么办

  • 网易云怎么隐藏关注和粉丝(网易云怎么隐藏收藏歌单)

    网易云怎么隐藏关注和粉丝(网易云怎么隐藏收藏歌单)

  • 苹果7怎么开视频美颜(苹果7怎么开视频聊天)

    苹果7怎么开视频美颜(苹果7怎么开视频聊天)

  • 微信如何发30张图片(微信怎么发30张图片)

    微信如何发30张图片(微信怎么发30张图片)

  • 手机qq咋看收到的礼物(qq怎么查看收到的通知)

    手机qq咋看收到的礼物(qq怎么查看收到的通知)

  • iphonexsmax是2k吗

    iphonexsmax是2k吗

  • 荣耀20的语音助手叫什么(荣耀20的语音助手怎么打开)

    荣耀20的语音助手叫什么(荣耀20的语音助手怎么打开)

  • 苹果手机呼吸灯怎么关(苹果手机呼吸灯闪烁怎么设置)

    苹果手机呼吸灯怎么关(苹果手机呼吸灯闪烁怎么设置)

  • 怎么设置微信消息声音(怎么设置微信消息免打扰)

    怎么设置微信消息声音(怎么设置微信消息免打扰)

  • vivo防误触设置在哪(vivo防误触功能在哪)

    vivo防误触设置在哪(vivo防误触功能在哪)

  • 小米8屏幕指纹版和小米8(小米8屏幕指纹版换电池)

    小米8屏幕指纹版和小米8(小米8屏幕指纹版换电池)

  • 微信里的文档怎样传到电脑(微信里的文档怎么保存到手机里)

    微信里的文档怎样传到电脑(微信里的文档怎么保存到手机里)

  • 最贵的冰箱是什么(最贵的冰箱是多少钱)

    最贵的冰箱是什么(最贵的冰箱是多少钱)

  • 人工智能学习——模糊控制(学人工智能哪家机构比较好)

    人工智能学习——模糊控制(学人工智能哪家机构比较好)

  • Vue3.0 项目启动(打造企业级音乐App)(vue3.0启动命令)

    Vue3.0 项目启动(打造企业级音乐App)(vue3.0启动命令)

  • 税务清算需要什么条件
  • 年末计提坏账准备金额怎么算
  • 增值税电子普通发票怎么作废
  • 服务业按什么结算收入
  • 小规模免哪些税
  • 小规模和纳税人一般怎么选择
  • 债权如何变现
  • 失业社保补助金领取条件
  • 房租发票上税的分录怎么写?
  • 支付专家劳务费什么意思
  • 能否异地进行税款支付?
  • 股权转让受让人违约
  • 税务局每年都会查我公司虚开发票
  • 查土地补贴到啥单位查明
  • 小规模免了增值税怎么办
  • 异地交纳的五险一金可以在个人所得税扣除吗?
  • 纳税人在同一地级行政范围内跨县经营
  • 国税发200931号文件解读
  • 以前年度的税金及附加
  • 年度汇算清缴可以作废吗
  • 建筑设计公司的账务处理
  • 增值税专用发票丢了怎么补救
  • 未在规定期限内缴纳税款和滞纳金
  • 工商年报社保需要多少钱
  • TP-Link TL-WR841N管理员密码(初始密码)是多少
  • 鼠标玩游戏飘怎么回事
  • 华硕笔记本电脑售后维修服务网点
  • 无形资产入股注意事项
  • 如何设置电脑从硬盘启动
  • 琼斯的大海怪
  • 在win7系统中文件属性有哪些
  • php string函数
  • PHP:pcntl_wtermsig()的用法_PCNTL函数
  • PHP:zip_close()的用法_Zip函数
  • 工资薪金支出税前扣除
  • 应付职工薪酬的明细科目有哪些
  • wordpress项目开发
  • php的session
  • php是面向过程还是面向对象
  • php微信公众号 全站模板
  • python如何在画布上写字
  • 个人出租租房交什么税
  • 进项税额转出如何做分录
  • 织梦系统网站搭建教程
  • 几种财务自由
  • 税务局退回来的钱账务处理
  • 我向银行借钱我是贷方还是借方
  • php配置文件在哪
  • 工程项目买保险没有合同 情况说明怎么写
  • 企业出售自用房产开具增值税
  • 单位订购价格
  • 收客户逾期利息会计分录
  • 残保金怎么做账务处理
  • 贷款的融资担保费
  • 补交上年度的企业所得税税款计入什么科目
  • 收到红字发票如何入账
  • 购买的商品属于什么会计科目
  • 契税为什么计入成本费用
  • 生产配合销售还是销售配合生产
  • 开餐饮店需要什么条件才能开
  • sqlserver
  • sqlsever导入数据时出现ole db连接数据无效
  • win8屏幕显示时间
  • macos越狱教程
  • 安装xp后win7不能用怎么办
  • mac打印预览快捷键是什么
  • 双击windows 7桌面上的快捷图标可以干嘛
  • redhat linux 7.2系统安装详细过程
  • linux反转
  • python中安装模块的命令
  • Node.js与Sails redis组件的使用教程
  • 使用Meteor配合Node.js编写实时聊天应用的范例
  • 动作手游排行榜2020前十名
  • python twinter
  • python读写docx
  • jquery的validate前端表单验证
  • 仿微信语音聊天
  • 普票怎么入账标识
  • 税务工作意见和建议
  • 缴纳车辆购置税的会计处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设