9、for in循环、forEach循环、for of循环的区别

for-in循环

  理解:

    for-in循环是JS中的一种常见迭代语句,可以用它实现对象、数组中的所有属性或元素的遍历

  案例:

for(var 变量  in  数组名或集合名)  //变量中存放的数组或集合的索引
         {
            数组名[变量]
         }

let obj = {a: 1, b: 2, c: 3}; for (let prop in obj) { console.log(prop + ': ' + obj[prop]); }

  输出结果:

    

 

  解释:

      上述代码主要就是将对象obj中的每一个属性的名称和对应的值进行输出。具体介绍:循环首先需要创建一个变量prop,它用于存储当前遍历到的属性名。然后,在每一次循环迭代中,prop将

    依次赋值为对象中的每一个属性名(a,b,c)。

 

forEach循环

  理解:

    forEach是JavaScript中的数组方法,可以用于遍历数组中的每一个元素并且执行指定的操作。

  案例:

arr.forEach(function(k){  //依次从数组中取出元素放在k中,然后将k作为参数传递给函数
         console.log(k);
       })

let arr = ['apple', 'banana', 'orange']; arr.forEach(function(item, index) { console.log(`${index}: ${item}`); });

  执行结果:

  

 

  理解:

      在上述的代码中将输出输入arr中的每一个元素,以及他们在数组中的索引,具体点来说,我们在forEach方法当中编写了一个匿名函数,该函数接受两个参数:当前遍历到的元素怒(item)和对应的索引(index)。在循环迭代中,这个匿名的函数将一次被调用,并且item和index参数将分别被赋值为数组中的每个元素和对应的索引。最后通过console.log进行打印出每一个元素的内容和他在数组中的索引。

  注意点:forEach循环不像普通for循环那样支持break和continue语句,因此如果想要在循环过程中停止退出,可以使用some、every、find等其他方法进行处理。同时,在使用forEach循环时,也需要注意它只能遍历数组元素而不能遍历对象属性

 

for-of循环:

  理解:

    for-of循环是JavaScript中的一种用于遍历可迭代的对象语句,包括数组、字符串、Map、Set等数组结构。

  案例:

for(var 变量 of 数组名或集合名) //变量中存放的是数组或集合中的元素
         {
             console.log(变量);
         }

let arr = ['apple', 'banana', 'orange']; for (let item of arr) { console.log(item); }

  执行结果:

    

  解释:

    上述代码将输出数组ar中的每个元素。具体来讲,循环第一步是创建一个变量item,它用于存储当前遍历到的元素。最后,在每一次的循环迭代当中,item将分别被赋值为数组中的每个元素。最后,我们可以使用console.log打印出每个元素的内容

  注意点:

    for-of循环只能用于遍历可迭代对象而不能遍历普通对象。此外,与forEach循环不同的是,for-of循环支持使用break和continue关键字来控制循环执行流程

 

简单介绍:

  1. for-in循环:可以遍历对象和数组,数组遍历下标,对象遍历属性。
  2. forEach循环:遍历全部数组,不能通过return结束,消耗性能,用于不转换数组对象操作。
  3. for-of循环:遍历时获得其中的每一项(属性值),可以通过return结束,循环没有下标。
posted @ 2023-04-05 19:41  小田学不好  阅读(226)  评论(0)    收藏  举报