欢迎光临
我们一直在努力

关于循环的整理:map、for、for in、for of、forEach、while、do while、some、every

涉及循环有:map、for、for in、for of、forEach、while、do while、some、every

其中:

最常见的是:for,while,do while

可以使用break,continue语句跳出循环的是:for,for of,for in

可以使用return中止的是:for,for of

for 循环

 

for:先检测退出条件,再执行循环体

for (初始化变量;条件表达式;操作表达式)

         { // 循环体:每次循环执行的代码}

它的循环示意图

( 

eg:1~100累加

for (int i = 1; i <= 100; i++) {
total = total + i,
}

 

 

while 循环

while 循环是 “先判断,后执行”,只要条件成立就会重复执行循环体

适用于不确定循环次数时
注意事项:避免无限循环

i = 0
while i < 3:
{
循环体
i += 1 }

它的流程示意图

 

eg:1~100累加

while (i <= 100) {
total += i;
i++;
}

 

do while 循环

do while 循环是一种后测试循环结构,即

先执行一次循环体中的代码,然后检查循环条件是否满足

如果条件满足,则继续执行循环体;否则退出循环(这也是它与while循环最主要的区别)

注意

  • 确保循环体内有改变条件的语句,否则可能死循环
  • 条件表达式需明确返回布尔值 (true/false)

 

do {
// 循环体代码
} while (条件表达式);

    流程示意图

     

    for in 循环

    优缺点

    • 缺点:潜在问题:原型链污染
    • 优点:
      • 无需手动管理索引,循环会自动遍历集合中的每个元素。
      • 代码更简洁,避免因索引错误导致的异常。
      • 适用于多种数据结构(列表、字符串、字典等)。

    注意事项

    • 字典遍历:默认遍历的是键(key),需显式访问值。
    • 不可迭代对象:若尝试遍历整数等非可迭代对象会引发TypeError。
    • 修改集合:在循环中直接增删集合元素可能导致意外行为)。

       

      for 变量 in 可迭代对象:
      # 循环体(针对每个元素的操作)

     

    for of 循环

    for of 是可迭代对象(Array, Map, Set等)的遍历

    for…of 循环是 JS中用于遍历可迭代对象(如数组、字符串、Map、Set 等)的语法结构。它直接遍历对象的元素值,而非索引或键。

    注意事项

    不可用于普通对象
    普通对象默认不可迭代,需先转换为 Map 或使用 Object.keys():

    for (variable of iterable) {
    // 循环体
    }

     

    forEach 循环

    forEach 是 JavaScript 中数组对象自带的一个方法,用于遍历数组中的每个元素。它的核心思想是:对数组中的每一项,执行一次你提供的函数(通常称为回调函数)。

    特点

  • 遍历: 它会自动遍历数组的每一个元素。
  • 回调函数: 你需要提供一个函数,这个函数会在遍历到每个元素时被调用一次。
  • 无返回值: forEach 方法本身不返回任何值。它只负责执行操作,不产生新数组。
  • 无法中断: 在回调函数中使用 return 语句不会中断整个循环。如果需要提前终止循环,通常需要使用 for 循环或者 for…of 循环配合 break。
  • 不影响原数组 (但元素可能被修改): 如果回调函数修改了 currentValue(原始数据类型如数字、字符串不会被修改,但对象或数组会被修改),那么原数组中对应的元素也会被修改。
  • array.forEach(function(currentValue, index, array) {
    // 在这里对 currentValue 进行操作
    });

     

     

     

     

     

     

    some 循环

    • 功能: 检查数组中的至少一个元素是否通过了由提供的函数实现的测试。
    • 逻辑: 相当于逻辑或 ||。只要数组中存在至少一个元素使测试函数返回 true,some() 方法就返回 true。如果所有元素都使测试函数返回 false,则返回 false。当遇到第一个使测试函数返回 true 的元素时,立即停止遍历并返回 true。

    array.some(callback(currentValue[, index[, array]])[, thisArg])

     

    every 循环

    • 功能: 检查数组中的所有元素是否都通过了由提供的函数实现的测试。
    • 逻辑: 相当于逻辑与 &&。只有当数组中每一个元素都使测试函数返回 true 时,every() 方法才返回 true。如果遇到任何一个元素使测试函数返回 false,则立即停止遍历并返回 false。

    array.every(callback(currentValue[, index[, array]])[, thisArg])

     

     

     

     

     

     

     

    赞(0)
    未经允许不得转载:171主机测评 » 关于循环的整理:map、for、for in、for of、forEach、while、do while、some、every
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址