Javascript for循环例题(26道) for循环案例

Javascript for循环例题(26道) for循环案例


精选for循环案例,还有自创的几个题,比较有难度,做完可以更了解for循环


提示:以下是本篇文章正文内容,下面案例可供参考
有问题欢迎评论区指正

1、输出1-100

<script>
    for (let i = 1 ; i <= 100 ; i++) {
      console.log(`${i}`)
    }
  </script>

2、求1-100所有数的平均值

<script>
    let result = null
    for (let i = 1; i <= 100; i++) {
      result += i
    }
    console.log(`${result / 100}`)
  </script>

3、求1-100所有奇数和偶数的和

<script>
    let odd = null
    let even = null
    for (let i =0 ; i <= 100 ; i++) {
      i % 2 ==0 ? even += i : odd += i  
    }
    console.log(odd)
    console.log(even)
</script>

4、求1-100所有能被3整除的数字的和

<script>
    let result = null
    for (let i = 0 ;i <= 100; i++) {
      i % 3 == 0 ? result += i : i
    }
    console.log(result)
  </script>

5、用户输入打印相对应行列的星星

<script>
    let num = prompt('请输入打印的行列数')
    for (let x = 1 ; x <= num ; x++) {
      document.write('<br>')
      for (let j = 1 ; j <= num ; j++) {
        document.write('*')
      }
    }
  </script>

6、假如一天胖五斤3天后胖几斤

<script>
    for (let x = 1 ; x <= 3 ; x++) {
      console.log(`今天是第${x}天`)
      console.log(`--------------`)
      for (let y = 1 ; y <= 5 ; y++) {
        console.log(`今天胖了${y}斤`)
      }
    }
  </script>

7、用户输入一个数,用户再输入第二个数,打印这两个数之间的整数

<script>
    let num1 = +prompt('请输入第一个数')
    let num2 = +prompt('请输入第二个数')
    for (let i = num1 ; i <= num2 ; i++) {
      console.log(`${i}`)
    }
  </script>

8、打印1-用户输入的数之间能被3整除的数

  <script>
    let num = +prompt('请输入截止数')
    for (let i = 0 ; i <= num ; i++ ) {
      i % 3 == 0 ? console.log(i) : i
    }
  </script>

9、求1-用户输入的数之间所有能被3和7整除的数的和

  <script>
    let result = null
    let num = prompt('请输入截止数')
    for (let i= 0 ; i <= num ; i++) {
      i % 3 == 0 && i % 7 == 0 ? result += i : i
    }
    console.log(result)
  </script>

10、求1-用户输入的数之间个位数不为3的数的累加和

    let result = null
    let num = prompt('请输入截止数')
    for (let i = 1 ; i <= num ; i++) {
      i % 10 == 3 ? i : result += i
    }
    console.log(result)
  </script>

11、打印正三角形

  <script>
    let num = prompt('请输入截止的数')
    // 方法一
    for (let x = 1 ; x <= num ; x++) {
      document.write('<br>')
      for (let y = 1 ; y <= x ; y++) {
        document.write('*')
      }
    }
    // 方法二
    for (let x = 1 ; x <= num ; x++) {
      document.write('<br>')
      for (let y = x ; y > 0 ; y--) {
        document.write('*')
      }
    }
    // 方法三
    for (let x = num ; x > 0 ; x--) {
      document.write('<br>')
      for (let y = num ; y >= x ; y--) {
        document.write('*')
      }
    }
  </script>

12、打印倒三角形

  <script>
    let num = prompt('请输入要打印的行数')
    // 方法一
    for (let x = num ; x > 0 ; x--) {
      document.write('<br>')
      for (let y = x ; y > 0 ; y--) {
        document.write('*')
      }
    }
    // 方法二
    for (let x = num ; x >0 ; x--) {
      document.write('<br>')
      for (let y = 0 ; y < x ; y++) {
        document.write('*')
      }
    }
    // 方法三
    for (let x = 1 ; x <= num ; x++) {
      document.write('<br>')
      for (let y = x ; y <= num ; y++) {
        document.write('*')
      }
    }
  </script>

13、99乘法表

  <script>
    for (let x = 1 ; x <= 9 ; x++) {
      for (let y = 1 ; y <= 9 ; y++) {
        document.write(`${x*y}&nbsp;&nbsp;&nbsp;&nbsp;`)
      }
      document.write('<br>')
    }
  </script>

14、大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,如何分配?

<script>
    for (let x = 1; x <= 50 ; x++) {
      for (let y = 1 ; y <= 100 ; y++) {
        for (let z = 1 ; z <= 200 ; z++) {
          if (x + y + z == 100 && x * 2 + y + 1/2 * z == 100) {
            document.write(`大马: ${x} &nbsp;&nbsp; 中马: ${y} &nbsp;&nbsp; 小马: ${z}<br>`)
          }
        }
      }
    }
  </script>

15、小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

  <script>
    for (let x = 0 ; x <= 100 ; x++) {
      for (let y = 0 ; y <= 100 ; y++) {
        for (let z = 0 ; z <= 100 ; z++) {
          if (15 * x + 5 * y + 2 * z == 100) {
            document.write(`洗发水: ${x}&nbsp;&nbsp;香皂: ${y}&nbsp;&nbsp;牙刷: ${z}&nbsp;&nbsp;<br>`)
          }
        }
      }
    }
  </script>

16、侦察队六个人案例

  <script>
    // 某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但 
    // 有以下限制条件:
    // A和B两人中至少去一人;
    // A和D不能一起去;
    // A、E和F三人中要派两人去;
    // B和C都去或都不去;
    // C和D两人中去一个;
    // 若D不去,则E也不去。
    // 问应当让哪几个人去?
    for (let a = 0 ; a <= 1 ; a++) {
      for (let b = 0 ; b <= 1 ; b++) {
        for (let c = 0 ; c <= 1 ; c++) {
          for (let d = 0 ; d <= 1 ; d++) {
            for (let e = 0 ; e <= 1 ; e++) {
              for (let f = 0 ; f <= 1 ; f++) {
                if ( ((a == 1 && b == 1) || (a == 0 && b == 1) || (a == 1 && b == 0)) && ((a == 1 && d == 0) || (d == 1 && a ==0) || (a == 0 && d ==0)) && ((a == 1 && e == 1 && f == 0) || (a == 1 && e == 0 && f ==1) || (a == 0 && e == 1 && f ==1)) && ((b == 0 && c == 0) || (b == 1 && c == 1)) && ((c == 0 && d == 1) || (c == 1 && d == 0)) && ((d == 0 && e == 0) || (d == 1 && e ==1))) {
                  document.write(`1为去, 0为不去`)
                  document.write(a,b,c,d,e,f)
                }
              }
            }
          }
        }
      }
    }
    toString()
  </script>

17、公鸡五块一只 母鸡3块三只小鸡1块钱 100块钱买一百只鸡 有几种方法?

  <script>
    for (let x = 0 ; x <= 300 ; x++) {
      for (let y = 0 ; y <= 33 ; y++) {
        for (let z = 0 ; z <= 20 ; z++) {
          if (x + y + z == 100 && 1/3 * x + 3 * y + 5 * z == 100) {
            document.write(`小鸡: ${x}&nbsp;&nbsp;母鸡: ${y}&nbsp;&nbsp;公鸡: ${z}&nbsp;&nbsp;<br>`)
          }
        }
      }
    }
  </script>

18、1,2,5元钱 凑满40元有多少种可能

  <script>
    let result = 0
    for (let x = 0 ; x <= 20 ; x++) {
      for (let y = 0 ; y <= 10 ; y++) {
        for (let z = 0 ; z <= 4 ; z++) {
          if (x + 2 * y + 5 * z == 20) {
            result++
            document.write(`1元钱: ${x}&nbsp;&nbsp;2元钱: ${y}&nbsp;&nbsp;5元钱: ${z}&nbsp;&nbsp;<br>`)
          }
        }
      }
    }
    document.write(result)
  </script>

19、公园里有猴子

  <script>
    // 公园里有一只猴子和一堆桃子
    // 猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的 
    // 到第七天的时候,猴子睁开眼发现只剩下一个桃子
    // 问公园里刚开始有多少个桃子?
    let result = 1
    for (let x = 1  ; x <= 7 ; x++) {
      result = (result + 1) * 2
    }
    document.write(result)
  </script>

20、打印所有的水仙花数

  <script>
    // 一个三位数  如153  每个个位数3次方的和 加起来等于153
    let res = null
    for (let x = 100 ; x <= 999 ; x++) {
      let y = x
      res = y.toString()
      let one = res.slice(0,1)
      let two = res.slice(1,2)
      let three = res.slice(2,3)
      one = Number(one)
      two = Number(two)
      three = Number(three)
      if (Math.pow(one,3) + Math.pow(two,3) + Math.pow(three,3) == x) {
        console.log(x)
      }
    }
  </script>

21、兔子

  <script>
    // 有一对幼兔,幼兔1个月后长成小兔
    // 小兔1个月后长成成兔并生下一对幼兔 
    // 问10个月后有多少对兔子 
    // 幼兔、小兔、成兔对数分别是多少。 
    let xSmall = 1
    let small = 0
    let big = 0
    for (let x = 1 ; x <= 10 ; x++) {
      if (x == 1) {

      } else {
        big += small
        small = xSmall
        xSmall = big
      }
    }
    document.write(`幼兔:${xSmall}&nbsp;&nbsp;小兔:${small}&nbsp;&nbsp;成兔:${big}&nbsp;&nbsp;`)
  </script>

22、五个小朋友

  <script>
    // 五个小朋友排成一队
    // 问第一个多大了,第一个说比第二个大两岁
    // 问第二个,第二个说比第 三个大两岁
    // 以此类推。问第五个小朋友几岁了
    // 第五个小朋友说3岁了。问第一个小朋友几岁
    let result = 3
    for (let x = 1 ; x < 5 ; x++) {
      result += 2
    }
    console.log(result)
  </script>

23、如下效果图

在这里插入图片描述

  <script>
    let circle = '😁'
    let side = '😍'
    let num = +prompt('请输入截止数')
    // 方法一
    for (let x = 0 ; x <= num ; x++) {
      document.write('<br>')
      for (let y = num - x ; y > 0 ; y--) {
        document.write(`${circle}&nbsp;&nbsp;`)
      }
      for (let z = x ; z > 0 ; z--) {
        document.write(`${side}&nbsp;&nbsp;`)
      }
    }
    document.write('<br>')
    document.write('--------------------------')
    // 方法二
    for (let x = 0 ; x <= num ; x++) {
      document.write('<br>')
      for(let y = num ; y > x ; y--) {
        document.write(`${circle}&nbsp;&nbsp;`)
      }
      for (let z = 0 ; z < x ; z++) {
        document.write(`${side}&nbsp;&nbsp;`)
      }
    }
    document.write('<br>')
    document.write('--------------------------')
    // 方法三
    for (let x = num ; x >= 0 ; x--) {
      document.write('<br>')
      for (let y = x ; y > 0 ; y--) {
        document.write(`${circle}&nbsp;&nbsp;`)
      }
      for (let z = num - x; z > 0 ; z--) {
        document.write(`${side}&nbsp;&nbsp;`)
      }
    }
    document.write('<br>')
    document.write('--------------------------')
    // 方法四
    for (let x = num ; x >= 0 ; x--) {
      document.write('<br>')
      for (let y = 0 ; y < x ; y++) {
        document.write(`${circle}&nbsp;&nbsp;`)
      }
      for (let z = 0 ; z < num - x ; z++) {
        document.write(`${side}&nbsp;&nbsp;`)
      }
    }
  </script>

24、计算1-100个位数为3,6,9的累加和(不能使用 % )

  <script>
    for (let x = 1 ; x <= 100 ; x++) {
      for (let y = 0 ; y <= 9 ; y++) {
        for (let z = 1 ; z <= 3 ; z++) {
          // 方法一
          if (x % (10 * y) == z * 3) {
            console.log(x)
          }
          // 方法二
          if (x - y * 10 - z * 3 == 0) {
            console.log(x)
          }
          // 方法三
          if ((x - z * 3) / 10 == y) {
            console.log(x)
          }
        }
      }
    }
  </script>

25、通过id给数组排序

通过id排序
    let b = [
      { id: 10, name: 'zs' },
      { id: 9, name: 'ls' },
      { id: 5, name: 'ww' },
      { id: 4, name: 'zl' },
      { id: 1, name: 'cq' },
    ]
     let newArr = []
    console.log(newArr)
    for (var x = 0; x < b.length - 1; x++) {   
      for (let y = 0 ; y < b.length-1-x; y++) {
         if ( b[y].id > b[y+1].id) {
           let res = b[y]
           b[y] = b[y + 1]
           b[y + 1] = res
         } 
      }
    }
    console.log(b) 

26、动态渲染出一个table

在这里插入图片描述

并模糊查询数据 通过num 数据如下

使用createElement appendChild RegExp.exec charAt()
getElementById addEventListener .innerText .style 只用这些方法属性
使用原生js 使用for循环 模板字符串仅限于${变量名}

let tablelist = [
      {
        num: 1,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx', 
        },
        answer: 'A'
      },
      {
        num: 2,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
        },
        answer: 'CD'
      },
      {
        num: 3,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
          'F': 'xx'
        },
        answer: 'CDF'
      },
      {
        num: 4,
        options: {
          'A': 'xx',
          'B': 'xx',
        },
        answer: 'AB'
      },
      {
        num: 5,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
          'F': 'xx',
          'G': 'xx'
        },
        answer: 'ABCDEG'
      },
      {
        num: 6,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
        },
        answer: 'CD'
      },,
      {
        num: 7,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
        },
        answer: 'C'
      },
      {
        num: 8,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
        },
        answer: 'E'
      },
      {
        num: 9,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
          'F': 'xx',
          'G': 'xx'
        },
        answer: 'GD'
      },
      {
        num: 10,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
        },
        answer: 'A'
      },
      {
        num: 11,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
        },
        answer: 'B'
      },
      {
        num: 12,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
        },
        answer: 'D'
      },
      {
        num: 13,
        options: {
          'A': 'xx',
          'B': 'xx',
          'C': 'xx',
          'D': 'xx',
          'E': 'xx',
          'F': 'xx',
          'G': 'xx'
        },
        answer: 'G'
      }
    ]

答案

    let text = document.getElementById('text')
    let table = document.getElementById('table')
    for (let x = 0 ; x < tablelist.length ; x++) {
      let tr = document.createElement("tr")
      table.appendChild(tr)
      for (let key in tablelist[x]) {
        let tdNum = document.createElement('td')
        if (tablelist[x][key].constructor == Number) {
          tdNum.innerText = `${tablelist[x][key]}`
          tr.appendChild(tdNum)
          text.addEventListener('input',function() {
            tr.style.visibility = 'hidden'
            let wh = null
            wh = text.value
            let Reg = RegExp("^"+wh)
            if (Reg.exec(tablelist[x][key]) !== null) {
              tr.style.visibility = 'visible'
            }
          })
        }
        if (tablelist[x][key].constructor == Object) {
          for (let objKey in tablelist[x][key]) {
            let m = document.createElement('td')
            m.innerText = `${objKey}`
            tr.appendChild(m)
            for(i=0;i<tablelist[x].answer.length;i++){
              if (m.innerText == tablelist[x].answer.charAt(i)) {
                m.style.backgroundColor = 'skyblue'
              }
            }
          }
        }
        if (tablelist[x][key].constructor == String) {
          // tdNum.innerText = `${tablelist[x][key]}`
          // tr.appendChild(tdNum)
        }
      }
    }

总结 转载注明出处

有问题欢迎评论区指正

  • 21
    点赞
  • 168
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值