zoukankan      html  css  js  c++  java
  • for循环两个略骚的写法

    for loop

    骚写法

    或许你知道,总之我觉得很酷,希望你也这么认为。

    递增遍历

    最常见场景,从 0 到 10 的遍历,不输出 10:

    for(let i = -1; ++i < 10;) {
      console.log(i)
    }
    // 0,1,2,3,4,5,6,7,8,9
    

    对比下常规写法:

    for(let i = 0; i < 10; i++) {
      console.log(i)
    }
    // 0,1,2,3,4,5,6,7,8,9
    

    递减遍历

    倒序遍历,不遍历第一个,常见用来删除元素等:

    for(let i = 10; i--;) {
      console.log(i)
    }
    // 9,8,7,6,5,4,3,2,1,0
    

    对比下常规写法:

    for(let i = 10 - 1; i > -1; i--) {
      console.log(i)
    }
    // 9,8,7,6,5,4,3,2,1,0
    

    原理解析:

    for(l1; l2; l3) {} 执行顺序:

    1. l1 整个循环开始前执行一次
    2. l2 当次循环执行前执行一次,判断是否需要执行
    3. l3 每次循环结束执行一次

    留个小问题,尝试把两个简写的 ++-- 关于 i 的前后位置换换会有什么效果,为什么?

  • 相关阅读:
    第三周学习笔记
    质量属性
    第四周学习
    逻辑回归
    架构的概念
    第二周总结
    线性回归
    十步走-阅读笔记六
    十步走-阅读笔记五
    P2633 Count on a tree
  • 原文地址:https://www.cnblogs.com/ZweiZhao/p/9784848.html
Copyright © 2011-2022 走看看