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

  • 换wifi后怎么连接小爱音箱(换wifi后怎么连接小度音箱)

    换wifi后怎么连接小爱音箱(换wifi后怎么连接小度音箱)

  • 微信朋友分类在哪里设置(微信朋友分类怎么分组)

    微信朋友分类在哪里设置(微信朋友分类怎么分组)

  • 华为荣耀v20支持aptx吗(华为荣耀v20支持无线充电吗)

    华为荣耀v20支持aptx吗(华为荣耀v20支持无线充电吗)

  • 微信红包不点开怎么知道金额(微信红包不点开知道有多少钱吗)

    微信红包不点开怎么知道金额(微信红包不点开知道有多少钱吗)

  • i9 10900x用什么主板(i9 10900kf 用什么主板)

    i9 10900x用什么主板(i9 10900kf 用什么主板)

  • 豆瓣app老是加载不出来(豆瓣有时候不能加载)

    豆瓣app老是加载不出来(豆瓣有时候不能加载)

  • ipad重启后需要输入密码是什么(iPad重启后需要输入密码忘了怎么办)

    ipad重启后需要输入密码是什么(iPad重启后需要输入密码忘了怎么办)

  • 邮政短信怎么自己开通(邮政短信通知怎么扣费)

    邮政短信怎么自己开通(邮政短信通知怎么扣费)

  • 手机微信如何定时发信息(手机微信如何定时发送图片)

    手机微信如何定时发信息(手机微信如何定时发送图片)

  • 手机没话费了怎么办(手机没话费了怎么能收到短信)

    手机没话费了怎么办(手机没话费了怎么能收到短信)

  • iphone11pro怎么设置墙纸(iphone11pro怎么设置微信加密)

    iphone11pro怎么设置墙纸(iphone11pro怎么设置微信加密)

  • word怎样添加参考文献脚注(如何在word文档中添加参考文献)

    word怎样添加参考文献脚注(如何在word文档中添加参考文献)

  • ip网址由什么组成(ip地址由 组成)

    ip网址由什么组成(ip地址由 组成)

  • 快手直播怎么投屏到电脑(快手直播怎么投流量)

    快手直播怎么投屏到电脑(快手直播怎么投流量)

  • 小米耳机派对模式什么意思(小米耳机派对模式)

    小米耳机派对模式什么意思(小米耳机派对模式)

  • 抖音的隐私设置在哪(抖音的隐私设置是所有都看不到吗?)

    抖音的隐私设置在哪(抖音的隐私设置是所有都看不到吗?)

  • 苹果x人脸识别坏了能修吗(苹果X人脸识别坏了修多少钱)

    苹果x人脸识别坏了能修吗(苹果X人脸识别坏了修多少钱)

  • qq群发助手在哪(qq群发助手在哪里弄)

    qq群发助手在哪(qq群发助手在哪里弄)

  • win10怎么保存锁屏壁纸(怎么保存win10锁屏界面)

    win10怎么保存锁屏壁纸(怎么保存win10锁屏界面)

  • 小米无线路由器变砖怎么办?小米路由器U盘刷机视频教程(小米无线路由器internet黄灯)

    小米无线路由器变砖怎么办?小米路由器U盘刷机视频教程(小米无线路由器internet黄灯)

  • vue中devTools插件安装教程(vue.js devtools插件下载)

    vue中devTools插件安装教程(vue.js devtools插件下载)

  • Cursor——ChatGPT的替代品【笔记】(chattr i)

    Cursor——ChatGPT的替代品【笔记】(chattr i)

  • sshpass命令  非交互式验证SSH密码(ssh非交互式登录)

    sshpass命令 非交互式验证SSH密码(ssh非交互式登录)

  • 一般进口货物的完税价格如何确定
  • 建设单位施工现场补助
  • 营改增后纳税人可以使用的发票种类有
  • 会计凭证整理的要求有哪些
  • 贴现是融资业务吗
  • 应收代位追偿款是什么意思
  • 跨月的普票怎么作废从系统里作废
  • 企业最应避免的外部环境和内部条件组合是
  • 企业出售产品
  • 房地产开发成本费用明细表
  • 计提业务招待费和办公费需要附件吗?
  • 工伤保险可以税后支付吗
  • 合法票据的利息计算方法
  • 所得税汇算清缴表在哪里打印
  • 营改增后征收增值税的税目
  • 企业间借款利息涉税处理
  • 中国人民银行保险公司
  • 取得不动产时的作价
  • 填报企业所得税资产总额怎么填
  • 主营业务收入和产值
  • 公司买汽车怎么做内账
  • 本月收到外汇怎么做账
  • 非同一控制企业合并商誉
  • 应计入增值税一般纳税人认定标准的“年应税销售额”
  • 销售商品收到商业汇票属于什么科目
  • 修理时换下的废品配件怎么处理?
  • 分公司使用总公司业绩投标
  • mac死机什么原因
  • 收到分包公司工程发票收入怎么做账
  • linux服务器常用操作命令
  • windows11正式版好用吗
  • 支付中间业务收入怎么算
  • 静默安装命令
  • PHP中Http协议post请求参数
  • uniapp 嵌套webview
  • 未分配利润转增股本 母公司会计分录
  • 山茶花的养殖方法盆栽
  • php curlfile
  • 甲供材料增值税
  • 有限责任公司股东会的职权有哪些?
  • php数据导出到excel
  • nodejs怎么更新版本
  • 技术服务转包涉税处理
  • php取值
  • 回顾2021年作文
  • 预计负债的主要账务处理
  • 小规模如何申报增值税
  • 个人所得税申报流程图
  • 新合同旧合同的法律依据
  • 边际贡献总额计算公式边际贡献率
  • 织梦cms为什么不维护了
  • python copyto
  • 生产车间劳务费会计分录
  • 商誉需要交税吗
  • 申报纳税的步骤
  • 会计做账的凭据是什么
  • 跨年的进项税额转出要补交税款吗
  • 股权拍卖溢价部分怎么算
  • 免税发票怎么抵扣
  • 商品进销差价的作用
  • 一般纳税人暂估入库的会计分录怎么写
  • mysql优化的几种方法
  • win2003和xp一样吗
  • win10自带地图打不开
  • 更新win10后扬声器无声音
  • win10微软更新
  • 系统闹钟设置
  • android:Background线程池和UiThread线程池
  • js动态改变div内容
  • nodejs最佳实践
  • nodejs 路由
  • unity3d操作
  • js中变量有哪几种?分别在哪里定义?
  • 个人总结的几个方面
  • js中生成随机数
  • 广东省国家税务总局班子成员
  • 青岛税务局网上办税厅app
  • 武汉税务局官网查询系统
  • 伤残补助金要解除合同吗
  • 税务系统领导干部监督管理办法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设