JS中for循环的常见题型

时间: 2019-06-30阅读: 1061标签: js知识

for循环示例:

// 1-10000以内的完数
// 完数:因子之和相加等于这个数
// 例如:6的因子为1,2,3:1+2+3=6

let i ,j;
let sum ;
for(i=1;i<=10000;i++){
    sum = 0;
    for(j=1;j<i;j++){
        if(i%j == 0){
            sum +=j;
        }
    }
    if(i == sum){
            console.log(i)
    }
}


让用户输入行数,使用for循环嵌套打出倒着的星星出来,行数等于用户输入的数字  

// 让用户输入行数,使用for循环嵌套打出倒着的星星出来,行数等于用户输入的数字

let readline = require("readline-sync");
console.log("请输入行数");
let line = readline.question("");
let strSpace = "";
let strStar = "";
let str = "";
for(let n =1;n<=line;n++){
    for(let i=1;i<=n-1;i++){
        strSpace=strSpace+" ";
    }
    for(let j=1;j<=line*2+1-2*n;j++){
        strStar=strStar+"*";
    }
    str=strSpace+strStar;
    console.log(str);
    str = "";
    strSpace = "";
    strStar = "";
}


有1,2,3,4这么4个数,能组成多少个互不相同且不含有重复数字的三位数?都是多少? 

// 有1,2,3,4这么4个数,能组成多少个互不相同且不含有重复数字的三位数?都是多少?  

let sum =0;
for(let a =1;a<=4;a++){
    for(let b = 1;b<=4;b++){
        if(a === b){
            continue;
        }
        for(let c =1;c<=4;c++){
            if(a === c || b === c){
                continue;
            }
            console.log(a,b,c);
            sum++;
        }
    }
}console.log(sum);

初始的二维数组是一个,3行4列的数组。将其转换为4行3列的二维数组
let arr = [[2,3,6,8],[5,7,0,9],[1,3,5,7] ];
let str = [];

for(let i = 0;i<arr[0].length;i++){
   str[i] = [];
}
console.log(str)
for(let j =0;j<arr.length;j++){
    for(let k =0;k<arr[j].length;k++){
        str[k][j]=arr[j][k];
    }
}
console.log(str);

数组冒泡排序
let arr =[15,56,21,34,5,1,30,78,7,-9,0,10,778]
let i,j,temp;
for(i=1;i<arr.length;i++){    //第一个for控制比较轮数:根据简单判断,例如4个数一共冒泡3次,所以总的冒泡次数时n-1次

    for(j=0;j<arr.length-i;j++){   //第二个for控制比较次数:
        if(arr[j] > arr[j+1]){
            temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
        }
    }
}console.log(arr);

数组选择排序
let arr =[15,56,21,34,5,1,30,78,7,-9,0,10,778]
let i,j,temp;
// 简单判断,例如4个数,外层循环一共是3次,
for(i = 0;i<arr.length-1;i++){
    // 内循环时从上面的数的相邻的数开始
    for(j = i +1;j<arr.length;j++){
        if(arr[i] > arr[j]){
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
    }
}
console.log(arr);
站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/3950

关闭

TS与JS中的Getters和Setter究竟有什么用?

在本文中,我们讨论了getter 和 setter 在现代 Web 开发中的实用性。它们有用吗?什么时候使用它们是有意义的?尽管我不同意 getter 和 setter 完全是一个反模式。但它们在几种情况下能带来更多的实用性。

js中减少使用不必要的if-else或switch_利用数组/对象代替if-else,switch

无论使用if-else,还是switch。当条件多的时候代码显得非常冗长,而且每次添加条件时需要修改主流程的代码,这样就破坏了类的开闭原则。为解决日后的维护可能存在问题,我们可以采用另一种比较优雅的实现方式来替换if-else,switch吗?

js浮点数精度丢失问题_如何解决js中浮点数计算不精准?

理解javascript中浮点数计算不精准的原因,如何解决浮点数的四则运算(加减乘除)。js中除了toFixed方法以外的实现方法总汇

10个JavaScript难点:能够读懂这篇博客的JavaScript开发者,运气不会太差…

10个JavaScript难点包括:立即执行函数,闭包,使用闭包定义私有变量,prototype,模块化,变量提升,柯里化,apply, call与bind方法,Memoization,函数重载

理解 JavaScript 执行栈

所有的 JS 代码在运行时都是在执行上下文中进行的。执行上下文是一个抽象的概念,JS 中有三种执行上下文:全局执行上下文,函数执行上下文,Eval 执行上下文。通常,我们的代码中都不止一个上下文,那这些上下文的执行顺序应该是怎样的?

instanceof与constructor的区别

instanceof 的作用是判断实例对象是否为构造函数的实例,实际上判断的是实例对象的__proto__属性与构造函数的prototype属性是否指向同一引用;constructor 的作用是返回实例的构造函数,即返回创建此对象的函数的引用

classList的使用,原生js对class的添加,删除,修改等方法的总结,以及兼容操作

classList是一个DOMTokenList的对象,用于在对元素的添加,删除,以及判断是否存在等操作。以及如何兼容操作

为什么JavaScript开发如此疯狂

Web开发中其他一切对你而言都是小菜一碟,但当你深入探究JavaScript的时候,不免有一种“众人皆醒你独醉”的悲壮——好像其他人都知道你不知道的一些大的基础的知识内容,并且这些内容可以帮助你理解所有知识

js可以设置网页默认为横屏状态吗?js设置网页横屏和竖屏切换

打开页面时通过 window.orientation 可以判断网页是横屏还是竖屏,如果是竖屏,给整个页面添加样式 transform: rotate(90deg); 这样,你的页面就显示横屏的效果了。 总的来说,结合window.orientationchange和window.orientation可以灵活的对网页进行变换。

JS 中的垃圾回收

对于开发者来说,JavaScript 的内存管理是自动的、无形的。我们创建的原始值、对象、函数……这一切都会占用内存。当某个东西我们不再需要时会发生什么?JavaScript 引擎如何发现它、清理它?

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广