循环遍历

1、最简单的for循环

2、for····in····循环返回typeof为object的键名,不能直接获得键值

3、for···of···本质上是调用iterator接口产生的遍历器获得键值

(1)使用for   of  遍历对象,因为自己生成的对象没有iterator接口,所以在直接循环访问对象时会报错。这时可以配合使用entries()、keys()、values()返回一个遍历器对象来访问对象的键值对、键名、键值,(使用方法Object.entries(obj)、Object.keys(obj)、Object.values(obj))比如:

var obj={
  name:"li",
  age:10,
  friend:{
    name:"cao",
    age:12
  },
  score:[90,100]
}
for(var key of Object.entries(obj)){
  console.log(key);
}
["name", "li"]
["age", 10]
["friend", [object Object] {
  age: 12,
  name: "cao"
}]
["score", [90, 100]]

(2)遍历数组:

数组内置的有iterator对象,所以可以直接使用for of方法。for(var value of arr){};当想获得数组的下标时:可以使用keys();entries()方法:for(var key of arr.keys()){}

(3)其他

遍历字符串获得单个字符串的字符。

遍历类数组对象:NodeList、arguments对象。

原生具备iterator接口的数据结构如下:

  • Array
  • Map
  • Set
  • String
  • TypedArray
  • 函数的 arguments 对象
  • NodeList 对象

会调用数据结构的iterator接口的方法:

解构赋值、扩展运算符、for···of、Array.from() 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值