JS利用循环解决的一些常见问题总结

目录
  • 1. 打印0-100中3的倍数
  • 2. 在页面中写入 1000-2000年中的闰年
  • 3. 打印100以内所有偶数的和
  • 4.求出1-1/2+1/3-1/4……1/100的和
  • 5. 打印三角形
    • 5.1 普通三角形
    • 5.2 倒三角
    • 5.3 等腰三角形
  • 6.等腰梯形
  • 7.输出100-200之间所有的质数
  • 9. 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量
  • 10.在页面上完成以一个九九乘法表
  • 11.打印一个3行5列的表格
  • 总结

1. 打印0-100中3的倍数

思路:首先利用for循环打印0到100的数,然后用if条件语句进行筛选,能被3整除的就进行输出

for(var i=0;i<=100;i++){
    if(i%3==0&&i!=0){
        console.log(i);
    }
}

2. 在页面中写入 1000-2000年中的闰年

思路:首先利用for循环打印1000-2000年,然后用判断是否闰年的条件(能被4整除且不能被100整除或者能被400整除)筛选出闰年进行打印

for(var i=1000;i<=2000;i++){
    if(i%4==0&&i%100!=0 || i%400==0){
         console.log(i+'是闰年');
    }
}

3. 打印100以内所有偶数的和

思路:首先利用循环打印出0到100的数,然后利用if条件判断语句打印出2的倍数(0是特殊的偶数),然后再将这些数加起来

var sum=0
    for(var i=1;i<=100;i++){
        if(i%2==0){
            sum+=i
       	}
    }
console.log(sum);

结果:2550

4.求出1-1/2+1/3-1/4……1/100的和

思路:所有分子不变,都是1,当分母为偶数的时候,前面那个数是减这个偶数的

var sum=0
for(var i=1;i<=100;i++){
    if(i%2==0){
        sum-=1/i
    }else{
        sum+=1/i
    }
}
console.log(sum);

结果:0.688172179310195

5. 打印三角形

5.1 普通三角形

for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {
                document.write('☆');
            }
            document.write('<br>')
        }

显示效果:

5.2 倒三角

 for (var i = 1; i <= 9; i++) {
            for (var j = 9; j >= i; j--) {
                document.write('☆');
            }
            document.write('<br>')
        }

显示效果:

5.3 等腰三角形

for (var i = 1; i <= 9; i++) {
    for (var j = 9; j >= i; j--) {
            document.write('&nbsp');
       }
        for (var j = 1; j <= i; j++) {
            document.write('☆');
      }
           document.write('<br>')
    }

显示效果:

6.等腰梯形

通过控制i的初始值实现梯形

 for (var i = 5; i <= 9; i++) {
            for (var j = 9; j >= i; j--) {
                document.write('&nbsp');
            }
            for (var j = 1; j <= i; j++) {
                document.write('☆');
            }
            document.write('<br>')
        }

显示效果:

7.输出100-200之间所有的质数

思路:首先质数就是只能被1和自己整除的数,我们在进行循环的时候可以将1和自身排除,然后利用双重for循环,外层循环用来遍历100到200的数,然后定义一个flag初始值为true,然后里层循环用来判断是否是质数,不是质数的时候给flag赋值为false,然后在flag为true的时候就是质数,进行输出

for(var i=100;i<=200;i++){
            var flag=true
            for(var j=2;j<i;j++){
                if(i%j==0){
                    flag=false
                }
            }
            if(flag){
                document.write(i+'<br>')
            }
        }

结果:

8. 求1+2!+3!+…+20!的值

  • 思路:这是求1加2的阶乘加3的阶乘加4的阶乘一直加到20的阶乘,首先我们先定义一个变量sum来进行接收,然后写外层循环用来遍历1到20,
  • 第一次循环
    当i等于1,k等于1,j等于1,k等于k*j等于1,sum等于0加1等于1
  • 第二次循环
    当i等于2,k等于1,j等于1,k等于k*j等于1
    j等于2,k等于k*j等于2,sum等于1加2等于3
  • 第三次循环
    当i等于3,k等于1,j等于1,k等于k*j等于1
    j等于2,k等于k*j等于2
    j等于3,k等于k*j等于6,sum等于1加1+2+6=9
  • 以此类推。。。。
var sum = 0;
        for (var i = 1; i <= 20; i++) {
            var k = 1;
            for (var j = 1; j <= i; j++) {
                k *= j;
            }
            sum += k;
        }
        console.log(sum);

结果:2561327494111820300

9. 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量

思路:第一个有1个,第二个有2个,第三个有4个,第四个有8个,以此类推,起那么2个数相乘等于第三个数,分别定义sum和num用来装总数量和第几个,然后利用循环使代码1到64执行

var sum=0;
      var num=1;
      for(var i=1;i<=64;i++){
          sum+=num;
          num*=2;
     }
console.log(sum*0.00001);

结果:184467440737095.53

10.在页面上完成以一个九九乘法表

for (var i = 1; i <= 9; i++) {
            for (var j = 1; j <= i; j++) {
                document.write('<span>'+j+'*'+i+'='+i*j+'</span>');
            }
            document.write('<br>')
        }

显示效果:样式是单独写得

11.打印一个3行5列的表格

document.write('<table>')
        for(var i=1;i<=3;i++){
            document.write('<tr>')
            for(var j=1;j<=5;j++){
                document.write('<td></td>')
            }
            document.write('</tr>')
        }
        document.write('</table>')

显示效果:样式单独加的

总结

到此这篇关于JS利用循环解决的一些常见问题的文章就介绍到这了,更多相关JS利用循环解决问题内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • js for终止循环 跳出多层循环

    今天我们小编写带代码的时候遇到一段代码,需要终止运行for,通过遍历json数据实现判断 <script> var Tid="55555"; var jb51cp = [ {id:66666,Cpurl:"https://baidu.com"}, {id:55555,Cpurl:"https://www.jb51.net"} ]; for(var i = 0; i < jb51cp.length; i++){ if(jb51cp

  • JS数组的遍历方式for循环与for...in

    JS数组的遍历方法有两种: 第一种:一般的for循环,例如: var a = new Array("first", "second", "third") for(var i = 0;i < a.length; i++) { document.write(a[i]+","); } 输出的结果:fitst,second,third 第一种:用for...in 这种遍历的方式,例如: var arr = new Array(&

  • js数组循环遍历数组内所有元素的方法

    例,for(){}遍历数组 复制代码 代码如下: <script type="text/javascript"> <!--var arr = new Array(13.5,3,4,5,6);for(var i=0;i<arr.length;i++){ arr[i] = arr[i]/2.0;}alert(arr); //--> </script> 例,for in循环遍历数组 复制代码 代码如下: <html><body>

  • JavaScript中利用for循环遍历数组

    先看一段代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> // 一个普通的数组 var arr =[3,5,2,6]; // 普通的for 循环遍历 for(var i = 0 ; i

  • JS中循环遍历数组的四种方式总结

    本文比较并总结遍历数组的四种方式: for 循环: for (let index=0; index < someArray.length; index++) { const elem = someArray[index]; // ··· } for-in 循环: for (const key in someArray) { console.log(key); } 数组方法 .forEach(): someArray.forEach((elem, index) => { console.log(

  • js 数组的for循环到底应该怎么写?

    然后来看看今天我开始怀疑哪个权威哦家伙了... 自从开始学编程,自从接触到数组这个东西,我就一直在不同的地点和不同的时间不断看到有人提醒:在用for遍历数组的时候一定要用 for(var i=0,n=arr2.length;i<n;i++)的方式哦,而不要用for(var i=0;i>arr.length;i++)的方式哦,因为用脑子想想也知道,第二种方法的第二部分会一直去计算数组的length,所以自然效率比较低. 哦?我们这里不说其他程序语言,而只讨论js,因为不同的语言,实现可能不同,其

  • JavaScript跳出循环的三种方法(break, return, continue)

    前言: 一位前端界的大神让我去思考的一个问题, 给了Big-man一段代码,如下: function Seriously(options) { // if called without 'new', make a new object and return that if(window === this || !(this instanceof Seriously) || this.id !== undefined) { return new Seriously(options); } } re

  • JS利用循环解决的一些常见问题总结

    目录 1. 打印0-100中3的倍数 2. 在页面中写入 1000-2000年中的闰年 3. 打印100以内所有偶数的和 4.求出1-1/2+1/3-1/4……1/100的和 5. 打印三角形 5.1 普通三角形 5.2 倒三角 5.3 等腰三角形 6.等腰梯形 7.输出100-200之间所有的质数 9. 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量 10.在页面上完成以一个九九乘法表 11.打印一个3行

  • JS利用Intl解决前端日期和时间的格式化详解

    目录 简介 构造 locales 参数 options 参数 Intl.NumberFormat Intl.DateTimeFormat 简介 Intl 是一个全局对象,它的主要用途就是展示国际化信息,可以将字符串,数字和日期和时间转换为指定地区的格式. 在前端开发中,我们通常会使用第三方库来处理日期和数字的格式化,比如 numeral.dayjs.date-fns 等库,这些库包含了许多的功能,如果我们在项目中仅仅只使用了格式化的功能的话其实是可以不用引入这些库的,JavaScript 自带的

  • 微信小程序利用for循环解决内容变更问题

    问题描述 学习小程序的小伙伴可能会有这样的问题:微信小程序的页面内容要发生改变,在小程序中如何快速的来创造一个格式相同,但仅仅改变内容且易于改变的页面呢?接下来就来解决这个问题吧. 解决方案 整体思路是创建一个数组,将页面内容写进数组,利用for循环来达到遍历数组的目的,从而实现利用数组的变量来改变页面的内容. 第一步:首先在 js页面在 data 中创建一个数组名为 sums ,并在数组当中添加内容. 代码示例: data: { sums:[{ imgone:"/pages/img/ 一人之下

  • js利用for in循环获取 一个对象的所有属性以及值的实例

    实例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Co

  • Node.js事件循环(Event Loop)和线程池详解

    Node的"事件循环"(Event Loop)是它能够处理大并发.高吞吐量的核心.这是最神奇的地方,据此Node.js基本上可以理解成"单线程",同时还允许在后台处理任意的操作.这篇文章将阐明事件循环是如何工作的,你也可以感受到它的神奇. 事件驱动编程 理解事件循环,首先要理解事件驱动编程(Event Driven Programming).它出现在1960年.如今,事件驱动编程在UI编程中大量使用.JavaScript的一个主要用途是与DOM交互,所以使用基于事件

  • js利用reduce方法让你的代码更加优雅

    前言 在实际项目中,最常见可能是在计算.循环逻辑方面的处理,可以使用数组中reduce方法也可以解决很多的问题,使得你的代码风格更加优雅! reduce语法 arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue]) 参数说明 reducer函数需要接收4个参数分别是 callback Accumulator 累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValu

  • Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解

    前言 本文主要给大家介绍了关于Three.js利用orbit controls插件(轨道控制)控制模型交互动作的相关内容,这个效果相对于第八节的轨迹球插件使用上感觉要好,虽然轨迹球插件可以来回的滚动,但是容易分辨不清楚上下左右的关系,容易混乱,适合调试,而轨道控制插件orbit则适合客户使用,还不会产生混乱效果.下面讲一下使用. (1)首先引入插件,文件地址在官方案例的examples/js/controls/OrbitControls.js. (2)然后实例化函数,把相机和渲染器的dom传入,

  • Js利用prototype自定义数组方法示例

    前言 在开始之前,先给大家介绍下js中使用使用原型(prototype)定义方法的好处 经常在前端面试或是和其他同行沟通是,在谈到构造在JS定义构造函数的方法是最好使用原型的方式:将方法定义到构造方法的prototype上,这样的好处是,通过该构造函数生成的实例所拥有的方法都是指向一个函数的索引,这样可以节省内存. 而本文主要给大家介绍了关于Js利用prototype自定义数组方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 题目 如何实现下列代码: [1,2,3

  • Three.js利用dat.GUI如何简化试验流程详解

    简介 本文主要给大家介绍了关于Three.js利用dat.GUI如何简化试验流程的想内容,其实使用这个插件的最省事的地方在于,调试很方便的调节相关的值,从而影响最后绘制的结果.而dat.GUI实现的东西也很简单,理解起来也很好理解.下面话不多说了,来一起看看详细的介绍吧. 我们实例化dat.GUI对象后,会在右上角显示出一些可以调节的参数,比如: 这就是今天的案例制作出来的五个可以调节的属性.而且实现起来也很简单,而且大部分是需要我们做的,除了上面的这个控制台不是我们写出来的. 引入方式 首先,

  • 浅谈js for循环输出i为同一值的问题

    1.最近开发中遇到一个问题,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5. 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>闭包演示</title> </head> <body> <p>1<

随机推荐