常用for循环和for in 以及for of 的区别

用Es6对象扩展运算符(…)与rest运算符说明

复制代码
function test (...a) {
  for (let val = 0; val < a.length; val++) {
    console.log(val + ' ' + '常用的 for循环') // 0-7 便利出下标
  }

  for (let val in a) {
    console.log(val + ' ' + 'for in  0-7 便利出下标') // 0-7 便利出下标
  }

  for (let val of a) {
    console.log(val + ' ' + 'for of 1-8 便利值') // 1-8 便利值
  }
}
test(1, 2, 3, 4, 5, 6, 7, 8)
复制代码

 补充一个可以用for of 同样能实现for in效果的方式

for…of数组索引:有时候开发中是需要数组的索引的,那我们可以使用下面的代码输出数组索引。

let arr=['xzblogs','小智','zachary']
for (let index of arr.keys()){
    console.log(index);
}

可以看到这时的控制台就输出了0,1,2,也就是数组的索引。

用for of还可以同时输出对应的索引值和对应的内容,也就是键值对

我们用entries()这个实例方法,配合我们的for…of循环就可以同时输出内容和索引了。

let arr=['xzblogs','小智','zachary']
for (let [index,val] of arr.entries()){
    console.log(index+':'+val);
}

 利用in来遍历 key 为数字的数据列表

复制代码
let data = {
  '6': { 'value'10 },
  '7': { 'value'12 }
}

for (const key in data) {
  console.log(key, data[key].value) 
  // 打印出 
 6 10
 7 12 
}
复制代码
复制代码
let arr = [
  { 'sort': 1, 'nane': 1 },
  { 'sort': 2, 'nane': 2 },
  { 'sort': 3, 'nane': 3 }
]

for (const keys in arr[0]) {
  console.log(keys) // 打印出   sort  nane
}

for (const keys in arr) {
  console.log(keys) // 打印出   0 1 2
}
复制代码

 

posted @   xuanPhoto  阅读(311)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示