js输出题

js代码输出题(全)

点击进入打印输出各种三角形集合

var a = (10 * 3 - 4 / 2 + 1) % 2,
    b = 3;
b %= a + 3;
console.log(a++);
console.log(--b);

请问分别输出什么?
1  2

var a = 123; var b = 234;编写代码,实现交换a和b的值。

var a = 123;
var b = 234;
var temp = a;
a = b;
b = temp;
console.log(a, b)
var num = 10;
console.log(num++ + ++num);

请问输出什么?
22
var g =  1 && 2 || 3;

var h = 1 || 2 && 3;

var i = 0 || 2 && 3;

console.log(g);
console.log(h);
console.log(i);

请问输出什么?
213

1、用户输入数字num;

1)弹出该数字能否被7整除

2)弹出该数字是否判断能否被5和6整除

var num = prompt("请输入数字");
        num = parseInt(num)
        if (num % 7 == 0) {
            alert("可以被7整除");
        } else {
            alert("不能被7整除")
        }
        if (num % 5 == 0 && num % 6 == 0) {
            alert("能被56整除")
        } else if (num % 5 == 0) {
            alert("可以被5整除,不能被6整除");
        } else if (num % 6 == 0) {
            alert("可以被6整除");
        } else {
            alert("不能被56整除")
        }

用户输入三个数字a,b,c; 控制台输出最大的那个。

  var a = prompt("输入a");
       var b = prompt("输入b");
       var c = prompt("输入c");
       if (a > b && a > c) {
           alert("最大的是a")
       } else if (b > a && b > c) {
           alert("最大的是b")
       } else {
           alert("最大的是c")
       }

用户输入星期几,弹出 对应的英文。例如,输入 星期一,弹出 Monday。

 var de = prompt("请输入周几");
        switch (de) {
            case "1":
                alert("Monday");
                break;
            case "2":
                alert("Tuesday");
                break;
            case "3":
                alert("Wednesday");
                break;
            case "4":
                alert("Thursday");
                break;
            case "5":
                alert("Friday");
                break;
            case "6":
                alert("Saturday");
                break;
            case "7":
                alert("Sunday");
                break;
        }

用户输入年龄,判断输入的年龄是否合法。非数字或者小于0或者大于130不合法。弹出结果。

  var nl = prompt("请输入年龄") * 1;
        if (nl > 0 && nl < 130) {
            alert("你的年龄为" + nl);
        } else if (nl == NaN || nl < 0 || nl > 130) {
            alert("您的年龄不合法");
        } else {
            alert("您输入的类型有误");
        }

我家的狗5岁了,5岁的狗相当于多大年龄的人呢?其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁

编写一个程序,获取用户输入的狗的年龄,然后通过程序显示其相当于人类的年龄。如果用户输入负数,请显示一个提示信息。

 var dog = prompt("请输入狗的年龄") * 1;
        if (dog <= 2 && dog > 0) {
            alert("人类的年龄为" + dog * 10.5)
        } else if (dog > 2 && dog > 0) {
            alert("人类的年龄为" + (2 * 10.5 + (dog - 2) * 4))
        } else if (dog < 0) {
            alert("您输入的年龄为负值")
        } else {
            alert("您输入的类型有误")
        }

从键盘输入小明的期末成绩:当成绩为100时,‘奖励一辆BMW’;当成绩为[80-99]时,‘奖励一台iphone’;当成绩为[60-79]时,‘奖励一本参考书’;其他时,什么奖励也没有。

avar cj = prompt("请输入小明的成绩") * 1;
        if (cj == 100) {
            alert("奖励一辆BMW")
        } else if (cj >= 80 && cj <= 99) {
            alert("奖励一台iphone")
        } else if (cj >= 60 && cj <= 79) {
            alert("奖励一本参考书")
        } else {
            alert("奖励皮带炒肉丝")
        }

用户输入月份,弹出该月份所属的季节。
3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季。

  var yf = prompt("请输入月份") * 1;
       switch (yf) {
           case 3:
           case 4:
           case 5:
               alert("春天");
               break;
           case 6:
           case 7:
           case 8:
               alert("夏天");
               break;
           case 9:
           case 10:
           case 11:
               alert("秋天");
               break;
           case 12:
           case 1:
           case 2:
               alert("冬天");
               break;
       }

用户输入24小时制时间, 输出 上午(下午)12小时制时间。 例如 输入 23,输出 下午11点。;输入7,输出 上午7点。

    var sj = prompt("请输入时间") * 1;
        switch (sj) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 8:
            case 9:
            case 10:
            case 11:
            case 12:
                alert("上午" + sj + "点");
                break;
            case 13:
            case 14:
            case 15:
            case 16:
            case 17:
            case 18:
            case 19:
            case 20:
            case 21:
            case 22:
            case 23:
                alert("下午" + (sj - 12) + "点");
                break;
            case 24:
                alert("凌晨0点");
                break;

        }

标准体重=身高-110,超过标准体重5kg为过胖,低于5kg为过瘦,输入某人的身高和体重,判断标准,过胖,过瘦。

     var sg = prompt("输入你的身高") * 1;
       var tz = sg - 110;
       if (tz > 5) {
           alert("过胖");
       } else if (tz < 5) {
           alert("过瘦");
       } else {
           alert("标准")
       }

用户输入年份,输出这一年的总天数。

        var year = prompt("请输入年份");
        if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
            alert("闰年。366天");
        } else {
            alert("平年。365天");
        }

用户输入年份,月份,日子;输出这一天是这一年的第几天。

 var year = prompt("请输入年份") * 1;
        var yf = prompt("请输入月份") * 1;
        var ri = prompt("请输入日子") * 1;
        switch (yf) {
            case 1:
                alert(year + "年" + yf + "月" + ri + "日," + "本年的" + ri + "天")
                break;
            case 2:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0 && ri <= 29) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + ri) + "天")
                }
                break;
            case 3:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + ri) + "天")
                } else {

                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 28 + ri) + "天")
                }
                break;
            case 4:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 28 + 31 + ri) + "天")
                }
                break;
            case 5:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + ri) + "天")
                }
                break;
            case 6:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + ri) + "天")
                }
                break;
            case 7:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + ri) + "天")
                }
                break;
            case 8:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + ri) + "天")
                }
                break;
            case 9:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + ri) + "天")
                }
                break;
            case 10:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + ri) + "天")
                }
                break;
            case 11:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + ri) + "天")
                }
                break;
            case 12:
                if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + ri) + "天")
                } else {
                    alert(year + "年" + yf + "月" + ri + "日," + "本年的" + (31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + ri) + "天")
                }
                break;
        }

1、题目:
当成绩在90~100之间的时候,在控制台输出一个A当成绩在80 ~89之间的时候,在控制台输出一个 B当成绩在7079之间的时候,在控制台输出一个C当成绩在6069之间的时候,在控制台输出一个D当成绩<60的时候,在控制台输出一个E
让用户输入一个整数成绩,然后在控制台输出对用的字符。5分

        var a = prompt("请输入成绩");
        if (a >= 90 && a <= 100) {
            console.log("A")
        } else if (a >= 80 && a <= 89) {
            console.log("B")

        } else if (a >= 70 && a <= 79) {
            console.log("C")

        } else if (a >= 60 && a <= 69) {
            console.log("D")

        } else {
            console.log("E")

        }

2.提示用户输入年龄,如果大于等于18,则告知用户可以查看,如果小于10岁,则告知用户不允许查看,如果大于等于10岁并且小于18,则提示用户是否继续查看(yes,no)如果输入的是yes则提示用户请查看,否则提示“退出,你放弃查看”。

       var b = prompt("请输入年龄") * 1;
        if (b >= 18) {
            alert("可以查看");
        } else if (b >= 10 && b < 18) {
            var c = prompt("是否继续查看");
            if (c == "yes") {
                alert("请查看")
            }
            if (c == "no") {
                alert("退出,你放弃查看");
            }
        } else {
            alert("不允许查看");
        }

3.定义函数,实现任意字符串的倒序,例如hello,返回olleh。

  function daoxu(a) {
            var str = '';
            for (var i = a.length-1; i >= 0; i--) {
                str += a[i];
            }
            return str;
        }
        var c = prompt("请输入字符串");
        console.log(daoxu(c));

        --第二种倒序输出
        function reverse(str) {
            //累加
            var sum = "";
            for (var i = 0, len = str.length; i < len; i++) {
                console.log(str[i]);
                sum = str[i] + sum;//注意,正序遍历字符串时
            }
            console.log(sum); I
        }
        reverse(" hello");

4、一球从一百米的高度自由落下,每次落地后反跳回原高度的一半;再落下,求它第十次落地后,共经过多少米。

  var sum = 100;
        var height = 100;
        for (var i = 1; i <= 9; i++) {
            sum += height;
            height = height / 2;

            //第二种算法
            // height = height / 2;
            // sum += height * 2;
        }
        console.log(sum);

5、有一个分数列2/1,3/2,5/3,8/5,13/8,21/13…,求前二十项的和。

 function add() {
          var sum = 0, fz = 2, fm = 1;
          var num = 0;
          for (var i = 0; i < 20; i++) {
              sum += fz / fm;
              num = fz;
              fz = fz + fm;
              fm = num;
          }
          console.log(sum);
      }
      add();

打印如下等腰三角形
在这里插入图片描述

  var str = '';
       for (var i = 0; i < 5; i++) {
           for (var z = 0; z < 5 - i; z++) {
               str += ' ';
           }
           for (var j = 0; j < 2 * i + 1; j++) {
               str += '*';
           }
           str += '\n';
       }
       console.log(str);

定义函数,实现对任意整数的千分位。
例如,输入1234567890返回1,234,567,890

function qfw(num) {
            //将数字转换为字符串
            var numsrt = num + "";
            //定义变量记录拼接结果。
            var sum = "";
            //定义变量记录拼接数字的数目
            var count = 0;
            //遍历字符串,倒着遍历。
            for (var i = numsrt.length - 1; i >= 0; i--) {
                console.log(numsrt[i]);
                //拼接数字
                sum = numsrt[i] + sum;
                //数字的数目加一
                count++;
                //三位添加一个逗号
                if (count % 3 == 0 && i > 0) {
                    //三位数字添加一个逗号
                    sum = "," + sum;
                }
            } console.log(sum);
        }
        qfw(1234567890)

定义函数,统计任意字符串子串的数目。
例如,输入world返回16.因为world的子串有
在这里插入图片描述

    function sub(str) {
         //定义变量,记录子串的数目:初值为0;
         var count = 0;
         //i表示行号
         for (var i = 1; i <= str.length; i++) {
             count += i;
         }
         //把空串加上
         count++;
         return count;
     }
     console.log(sub("world"));

打印一个乘法口诀表

  for (var j = 1; j <= 9; j++) {
           //i表示乘法口诀表的列,也就是这一行的第几个算式.
           var sum = " ";
           for (i = 1; i <= j; i++) {
               sum += i + "X" + j + "=" + i * j + "\t";
           }
           console.log(sum);
       }

1、定义函数,判断任意数字是否是完数,并返回结果。一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。 例如 6 = 1+ 2+3 ,6是完数。

 function wanshu(n) {
            var sum = 0;
            for (var i = 1; i < n; i++) {
                if (n % i == 0) {
                    sum += i;
                }
            }
            if (sum == n) {
                alert("该数字为完数");
            } else {
                alert("该数字不是完数");
            }

        }
        var m = prompt("输入完数") * 1;
        wanshu(m);

2、定义函数,判断任意字符串是否是回文。

 function huiwen(n) {
            if (typeof n != "string") {
                return false;
            }
            var changdu = parseInt((n.length + 1) / 2);
            for (var i = 0; i < changdu; i++) {
                if (n[i] !== n[n.length - 1 - i]) {
                    return false;
                }
            }
            return true;
        }
        var m = prompt("请输入一个字符串");
        var i = huiwen(m);
        console.log(i);

3、定义函数,传入一个字符串,一个字符,判断该字符串中是否包含该字符,返回boolean值。

 function zifu(a, b) {
            if (a.includes(b)) {
                return true;
            } else {
                return false;
            }
        }
        var az = prompt("请输入一个字符串");
        var ax = prompt("请输入字符");
        var x = zifu(az, ax);
        console.log(x);

4、定义函数,传入一个字符串,一个+字符,返回该字符在字符串中出现的次数。

  function cishu(xj, jwz) {
            return xj.split(jwz).length - 1;
        }
        var a=prompt("请输入一个字符串");
        var b=prompt("请输入包含的字符")
        var c=cishu(a,b)
        console.log(c);

5、定义函数,传入一个数组,一个数据,返回该数据在数组中第一次出现的索引。

function cishu(xj, jwz) {
            return xj.indexOf(jwz);
        }
        var a = prompt("请输入一个字符串");
        var b = prompt("请输入包含的字符");
        var c = cishu(a, b)
        console.log(c);

6、定义函数,传入一个数字数组,返回该数组中的最大值。

function max(arr) {
            var max = arr[0];
            for (var i = 0; i < arr.length; i++) {
                if (max < arr[i]) {
                    max = arr[i];
                }
            }
            return max;
        }
        var arr = [3, 5, 20, 34, 21, 90];
        alert(max(arr));

7、定义函数,传入一个数字数组,返回该数组中的最大值的索引。

function max(arr) {
            var max = arr[0];
            var maxindex = 0;
            for (var i = 0; i < arr.length; i++) {
                if (max < arr[i]) {
                    max = arr[i];
                    maxindex = i;
                }
            }
            alert("最大值的索引为" + maxindex);
            return max;

        }
        var arr = [3, 5, 20, 34, 21, 20];
        alert(max(arr));

8、定义函数,求任意两个数的最小公倍数,并返回结果。

 function gys(a, b) {
            var c = a * b;
            for (var i = 1; i <= c; i++) {
                if (i % a == 0 && i % b == 0) {
                    return i;
                }
            }
        }
        var a = prompt("请输入第一个数字");
        var b = prompt("请输入第二个数字")
        var c = gys(a, b)
        console.log(c);

输出0 - 100内所有的偶数,倒序输出

   for (var i = 0; i < 50; i++) {
            document.write(100 - (2 * i))
           document.write("<br>")
        }


   for (var i = 100; i >= 0; i -= 2) {
            console.log(i)
        }


     for (var i = 50; i >= 0; i--) {
            console.log(2 * i);
        }

输出[0,100]内能被三整除的数字

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


    for (i = 0; i < 100; i += 3) {
            console.log(i)
        }

计算[1,100]内所有整数的和,累加。

  sum:summary,总结、和
        初始值,sum=0;

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

计算10!

    10!=1*2*3*4*5*6*7*8*9*10

        var ride = 1;
        for (i = 1; i <= 10; i++) {
            ride *= i;
        }
        console.log(ride);

计算[0,100]内能被3整除的所有数字的平均值

 var sum = 0;
        var num = 0;
        for (i = 0; i < 100; i++) {
            if (i % 3 == 0) {
                sum += i;
                num++;
            }
        }
        console.log(sum);
        console.log(num);
        console.log(sum / num);

让用户输入一个整数num,判断是否为偶数;
如果是偶数,弹窗显示num为偶数
否则,弹框显示num为奇数

  var num = prompt("请输入一个整数");
       console.log(num);
       if (num % 2 == 0) {
           alert(num + "是偶数");
       } else {
           alert(num + "是奇数");
       }

输入账号密码并判断是否正确或者错误

 var zh = prompt("请输入账号")
        var mm = prompt("请输入密码")
        if (zh == "root" && mm == "111111") {
            alert("登陆成功")
        } else {
            if (zh != "root") {
                alert("查无此账号")
            } else if (mm != "111111") {
                alert("密码错误")
            }
            alert("登录失败")
        }

输出乘法口诀表的第五行

        for (i = 1; i <= 5; i++) {
            console.log(i + "*5=" + i * 5);
        }

定义变量,记录拼接的算式;初始值是""

       var sum = " ";
        for (i = 1; i <= 5; i++) {
            sum += i + "*5=" + i * 5 + " ";
        }
        console.log(sum);

        var sum = " ";
        for (i = 1; i <= 6; i++) {
            sum += i + "*6=" + i * 6 + " ";
        }
        console.log(sum);

对于数组 var ages=[20,21,19,22,24,23,20,21,22,24,19];
编写代码,实现如下功能:

1)计算年龄的平均值;
var ages = [26, 21, 19, 22, 24, 23, 20, 21, 22, 24, 19];
   	var sum = 0;
for (var i = 0; i < ages.length; i++) {
   	sum += ages[i];
}
   	console.log(sum / ages.length);
2)判断是否有学生年龄为22岁?有,输出 true,否则,输出false。
for (var i = 0; i < ages.length; i++) {
    if (ages[i] == 22) {
        console.log('true')
        break
    }
} if (ages[i] != 22) {
    console.log('false')
}
3)找到18岁这个年龄在数组中第一次出现索引。有,输出 索引,否则,输出 -1 ;
 var age1 = 18;
for (var i = 0; i < ages.length; i++) {
    if (ages[i] == age1) {
        console.log(i)
        break
    }
}
if (ages[i] != age1) {
    console.log(-1)
}
4)判断是否每个学生都大于20岁?是,输出true,否则,输出false。
 var ages = [26, 21, 19, 22, 24, 23, 20, 21, 22, 24, 19];
var sum = 0;
for (var i = 0; i < ages.length; i++) {
    if (ages[i] > 20) {
        sum++
    } else {
break
    }
}
if (sum == ages.length * 1) {
    console.log(true);
} else {
    console.log(false);
}
5)找到最大的年龄,输出;
var ages = [26, 21, 19, 22, 24, 23, 20, 21, 22, 24, 19];
var max = ages[0];
for (var i = 0; i < ages.length; i++) {
    if (ages[i] > max) {
        max = ages[i]
    }
}
console.log(max);

6)找到最大的年龄的索引,输出;
  var max=0;
  for (var i = 0; i < ages.length; i++) {
           if (ages[i] > ages[max]) {
               max = i;
           }
       }
       console.log(max);

2、 对于字符串, var str=“hello,my name is zhangSan”;

1)统计字符串中n这个字符出现的次数;输出次数。

       var str = "hello,my name is zhangSan";
var a = 0;
for (var i = 0; i < str.length; i++) {
   if (str[i] == 'n') {
       a++
   }
}
console.log(a)

2)判断这个字符串是否是回文?回文:正序和倒序相同。例如: "ohho"。
  var str = "ohho";
       var str1 = '';
       for (var i = 0; i < str.length; i++) {
           str1 = str[i] + str1
       }
       if (str1 == str) {
           console.log('正序和倒序相同,是回文');
       } else {
           '正序和倒序不相同,不是回文'
       }



//第二种方法
       var str = 'asvfsa';
       for (var i = 0, len = str.length; i < len / 2; i++) {
           if (str[i] != str[len - 1 - i]) {
               console.log("不是回文");
               break;
           }
       }
       if (i == (len % 2 == 0 ? len / 2 : parseInt(len / 2) + 1)) {
           console.log("是回文");
       }

3、 输出[0,1000]范围内所有的质数。


for (var i = 0; i <= 1000; i++) {
   for (var j = 2; j < i; j++) {
       //            如果j能被i整出在跳出循环
       if (i % j == 0)
           break;
   }
   //        判断循环是否提前跳出,如果j<i说明在2~j之间,i有可整出的数
   if (j == i) {
       console.log(i);
   }

}

4、用户输入两个数字,输出这两个数字的最大公约数。

       var num1 = parseInt(prompt('请输入第一个数'));
       var num2 = parseInt(prompt('请输入第二个数'));
       //能被这两个数字整除约数必然在[1,min(num1,num2)]内;
      //用三元运算符从最小整数往下找
       for (var i = num1 > num2 ? num2 : num1; i >= 1; i--) {
           if (num1 % i == 0 && num2 % i == 0) {
               console.log(i);
               break;
           }
       }

5、用户输入两个数字,输出这两个数字的最小公倍数。

     var num1 = parseInt(prompt('请输入第一个数'));
       var num2 = parseInt(prompt('请输入第二个数'));
       //找到两个数字最大的这个
       var max = num1 > num2 ? num1 : num2;
       for (var i = max; ; i+=max) {
           if(i%num1==0&&i%num2==0){
               console.log(i);
               break;
           }
       }

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

//a代表百位数,[1,4];
//b代表十位数,[1,4];
//c代表个位数,[1,4];
//三层for循环,可以穷举出所有的组合数字,然后根据条件,互不相同且无重复数字筛选,满足条件的,累加求和
  var count=0;
       for (var a = 1; a <=4; a++) {
           for (var b = 1; b <=4; b++) {
               for (var c = 1; c <=4; c++) {
                   if (a != b && b != c && a != c) {
                       console.log(a * 100 + b * 10 + c);
                       count++;
                   }
               }
           }
       }
       console.log(count);

1、定义一个对象view,包含如下属性:

list:数组,包含4个商品对象;每个商品有如下属性,
id,name,price;
getAverage:方法,计算所有商品的平均价格,将平均值
返回;
getIndex:方法,获取价格最高的商品的索引,返回索引。
show:方法,将list数组中的商品展示在页面上。
(ul>li)

var view = {
    list: [
        {
            name: "棉袄",
            id: 1,
            price: 50
        },
        {
            name: "棉裤",
            id: 1,
            price: 20
        },
        {
            name: "毛衣",
            id: 1,
            price: 30
        },
        {
            name: "大衣",
            id: 1,
            price: 90
        }
    ],
    getAverage() {
        var num = 0;
        for (var i = 0; i < this.list.length; i++) {
            num += this.list[i].price;
        }
        return num / this.list.length;
    },
    getindex() {
        //最大值的索引
        var index = 0;
        for (var i = 0; i < this.list.length; i++) {

            if (this.list[i].price > this.list[index].price) {
                //修改最大值索引
                index = i;
            }
        }
        return index;
    },
    show() {
        var html = "<ul>";
        for (var i = 0; i < this.list.length; i++) {
            html += `
        <li>${this.list[i].name}</li>
        <li>${this.list[i].id}</li>
        <li>${this.list[i].price}</li>`
        }
        html += '</ul>';
        return html;
    }
}
console.log(view.getAverage());
console.log(view.getindex());
document.write(view.show());

3、定义一个函数,实现数字数组去重。参数:数组;返

回值:去重后的数组。怎么找到重复的?怎么删掉?

//第一种方法
var arr = [2, 8, 5, 0, 5, 2, 6, 7, 2];
function unique1() {
    var hash = [];
    for (var i = 0; i < arr.length; i++) {
    //第一种判断方法
        if (hash.indexOf(arr[i]) == -1) {
            hash.push(arr[i]);
        }

	 //第二种判断方法
        // if(!hash.includes(arr[i])){
        //     hash.push(arr[i]);
        // }
    }
    return hash;
}
console.log(unique1());



//第二种
function noRepeatArr(arr) {
    for (var i = 0, len = arr.length; i < len; i++) {
        if (arr.indexOf(arr[i]) != arr.lastIndexOf(arr[i])) {
            //重复﹔删除
            arr.splice(i, 1);
            // 删除一个元素,后续元素索引都会减1 ;避免跳过接下来的一个元素;i--;
            i--;
            //len是数组初始的长度,删除一个元素,len需要减一,主要目的为了减少循环次数。
            len--;
        }
        console.log("----------------------------");
    }
    return arr;
}
console.log(noRepeatArr([1, 1, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7]));



//第三种写法,不用数组api
function no(arr) {
    for (var i = 0; i < arr.length; i++) {
        //比较arr[i]与其后的每一个元素
        for (var j = i + 1; j < arr.length; j++) {
            if (arr[i] == arr[j]) {
                //重复;
                arr.splice(j, 1);
                //索引-1
                j--;
            }
        }
    }
    return arr;
}
console.log(no([1, 1, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7]));

定义一个函数,实现数字数组排序。参数:数组;返
回值:排序后的数组。(冒泡排序)

//冒泡排序
//升序
//冒泡排序:遍历数组,比较相邻的两个元素,如果左侧比右侧大,就交换位置,循环结束,最大的就在右侧
var arrs = [14, 40, 3, 41, 5, 16, 7, 38, 9, 10];
function paixu() {
    for (var i = 0; i < arrs.length - 1; i++) {
        for (var j = 0; j < arrs.length - i - 1; j++) {
            if (arrs[j] > arrs[j + 1]) {
                var num = arrs[j + 1];
                arrs[j + 1] = arrs[j];
                arrs[j] = num;
            }
        }
    }
    return arrs;
}
console.log(paixu());

字符串api的题

现在有一个数组,数组中存放的是班级中所有学生的信息,每个学生包含如下信息:学号、姓名、性别、年龄、身高、体重。 id\name\ses\age\height\weight

现对该数组进行如下操作:

1)统计该班级姓 李 的学生有多少位。

2)统计该班级 名字中包含 文 的学生有多少位。

  var arr = [
            {
                id: 1,
                name: "张李",
                sex: true,
                age: 18,
                height: 176,
                weight: 140
            },
            {
                id: 1,
                name: "李四",
                sex: true,
                age: 18,
                height: 176,
                weight: 140
            },
            {
                id: 1,
                name: "李文",
                sex: true,
                age: 18,
                height: 176,
                weight: 140
            },
            {
                id: 1,
                name: "王文",
                sex: true,
                age: 18,
                height: 176,
                weight: 140
            },
            {
                id: 1,
                name: "文伟",
                sex: true,
                age: 18,
                height: 176,
                weight: 140
            }
        ]
        第一个
        var num = 0;
        arr.forEach(function (value, index, array) {
            if (value.name.charAt(0).includes("李")) {
                num++;
            }
        })
        console.log(num);

        第二个
        var num = 0;
        arr.forEach(function (value, index, array) {
            if (value.name.includes("文")) {
                num++;
            }
        })
        console.log(num);

定义一个函数,输入一个字符串,返回倒序后的字符串。例如:hello ,返回 olleh。不准写for。用string、array的api实现。

 (function () {
            var str = prompt("输入字符串");
            var xj = str.split("").reverse().join("");
            console.log(xj);
        })();

定义一个函数,输入一个字符串,返回首字母大写后的字符串。例如,hello,返回 Hello。

  (function () {
            var str = prompt("输入字符串");
            var daxie = str[0].toUpperCase() + str.substring(1).toLowerCase();
            console.log(daxie);
        })();

定义一个函数,输入一个字符串,返回该字符串可以构成的不重复的子串的数目。例如,hello,子串有 “” , “h” , “he” ,“hel”,“hell”,“hello”,“e”,“el”,“ell”,“ello”,“l”,“ll”,“llo”,“lo”,“o”。

function sub(str) {
            // //定义变量,记录子串的数目:初值为0;
            // var count = 0;
            // //i表示行号
            // for (var i = 1; i <= str.length; i++) {
            //     count += i;
            // }
            // //把空串加上
            // count++;
            // // return count;

            var hash = [];
            var num = 0;
            for (var i = 1; i <= arr.length; i++) {
                if (hash.indexOf(arr[i]) == -1) {
                    num += i;
                }
            }
            return num;
        }

        var str = "hello";
        var arr = str.split("")
        console.log(sub(arr));

var arr = [{name: ‘wang’, age:‘1’}, {name:‘zhang’, age:‘2’}], 要求得到obj = {wang: ‘1’, zhang: ‘2’}。请编写代码实现。

 var arr = [
            {
                name: "wang",
                age: 1
            },
            {
                name: "zhang",
                age: 2
            }
        ]
        var obj = {};
        arr.forEach(function (value, index, array) {
            obj[index] = value.name + ":" + value.age;
        })
        console.log(obj);

将字符串"2018-11-03"转换成"11/03/2018"。

var str = "2018-11-03";
        var result = str.split("-").reverse().join("/");
        console.log(result);

已知有字符串 ”get-element-by-id”,写一个 function 将其转化成驼峰表示法”getElementById”。

    var str = "get-element-by-id";
        var result = str.split("-");
        var result1 = result.map(function (value, index, array) {
            if (index != 0) {
               return value.substring(0, 1).toUpperCase()+value.substring(1).toLowerCase();;
            }
            return value;
        })
        var c = result1.join("");
        console.log(c);

将下面数据展示到页面上
var stus = [
{
id: 1,
name: “张三”,
age: 20
},
{
id: 2,
name: “李四”,
age: 20
},
{
id: 3,
name: “王五”,
age: 20
}
]

 var stus = [
            {
                id: 1,
                name: "张三",
                age: 20
            },
            {
                id: 2,
                name: "李四",
                age: 20
            },
            {
                id: 3,
                name: "王五",
                age: 20
            }
        ]
        function show() {
            var html = "<ul>";
            for (var i = 0; i < stus.length; i++) {
                html += `
        <li>${stus[i].id}</li>
        <li>${stus[i].name}</li>
        <li>${stus[i].age}</li>`
            }
            html += '</ul>';
            return html;
        }
        document.write(show());

棋盘有32个格子,第一个格子放一个芝麻,第二个放两个,第三个放四个,第四个放八个。。。每个芝麻的重量为0.00001kg,如果要放满整个棋盘,需要多少重量的芝麻。

        var num = 1;
        var sum = 0;
        for (var i = 0; i < 31; i++) {//循环30次,从0~32减去初始值的第一次,为31,for循环累计从第二次开始算。
            num *= 2//或者i<32的情况下做个判断i!=0时,再累乘,相当于还是减去了第一次
            sum += num;
        }
        console.log("需要"+sum * 0.00001+"kg的芝麻才能放满");

1.定义函数,将字符串按照单词进行逆序,空格作为划分单词的唯一条件。例如,传入“wecome to beijing"改为“beijing to wecome”。

 (function () {
            var str = "Welome to Beijing";
            var xj = str.split(" ").reverse().join(" ");
            console.log(xj);
        })();

定义函数实现过滤敏感词,传入字符串以及敏感词,返回敏感词被替换为后的字符串。例如:“今天有个傻子在旁边大喊大叫,影响了我的操作,真是个傻子”敏感词为“傻子”,过滤后“今天有个**在旁边大喊大叫,影响了我的操作,真是个”.

 var str = "今天有个傻子在旁边大喊大叫,影响了我的操作,真是个傻子";
        for (var i = 0; i < str.length; i++) {
            str = str.replace("傻子", "*");
        }
        console.log(str);

3、定义函数,传入一个数组,返回重复出现的元素构成的新数组。

 var arr = [1, 1, 1, 2, 3, 3, 4, 4, 5, 7, 7, 8, 8];
        var aaa = [];
        var hash = [];
        arr.forEach(function (value, index, array) {
            if (arr.indexOf(arr[index]) !== arr.lastIndexOf(arr[index])) {
                aaa.push(arr[index]);
            }
        for (var i = 0; i < aaa.length; i++) {
            if (hash.indexOf(aaa[i]) == -1) {
                hash.push(aaa[i]);
            }
        }
        })
        console.log(hash);

4、定义函数,实现将查询字符串转为对象。查询字付串是像这种key=value&key2=value2&key3=value3格式的字符串。例如
“name=zhangSan&age=24&sex=true”,转为对象为
{
name:“zhangSan”,
age:“24”,
sex:“true”
}

 function queryStringTo0bject(queryStr) {
            var arr = queryStr.split("&");
            var result = {};
            for (var i = 0, len = arr.length; i < len; i++) {
                console.log(arr[i]);
                var arr2 = arr[i].split("=");
                console.log(arr2);
                //将key-value添加到对象。
                result[arr2[0]] = arr2[1];
            }
            return result;
        }
        console.log(queryStringTo0bject('name=zhangsan&age=24&sex=true'));

5、定义函数,传入一个字符串,返回该字符串的所有旋转词构成的新数组。
如果一个字符串str,把字符串str前面任意的部分挪到后面去形成的字符串叫做str的旋转词。比如str=”1234“,str的旋转词有“1234"、“2341”、“3412”、“4123”。

 (function () {
            var str = "1234";
            var result = str.split("");
            for (var i = 0; i < str.length; i++) {
                result.shift(i);
                result.push(str[i]);
                console.log(result.join(""));
            }
        })();

6、定义函数,给定字符串str,检查其是否包含连续3个数字。如果包含,返回最先出现的3个数字的字符串,如果不包含,返回 false。例如,输入“hello12345”返回“123"。

   function lianxu(str) {
            for (var i = 0; i < str.length - 2; i++) {
                //i  i+1  i+2
                //转换为数字,不是NaN,说明转换为数字
                if (!isNaN(Number(str[i])) && !isNaN(Number(str[i + 1])) && !isNaN(Number(str[i + 2]))) {
                    return str.slice(i, i + 3);
                }
            }
            return false;
        }
        console.log(lianxu("he45ll0123"));

7、定义函数,实现字符串连续重复字符去重。例如,传入"aaaabbbhccccdede,结果为"abcdede"。

     (function () {
            var arr = "aaaabbbbccccdede";
            var result = arr.split("");
            for (var i = 0; i < result.length; i++) {
                if (result[i] == result[i + 1]) {
                    result.splice(i, 1);
                    i--;
                }
            }
            var result1 = result.join("");
            console.log(result1);
        })();
  1. 定义一个矩形类,包含数据属性 width、height ; 方法属性 判断是否是正方形 isSquare,计算周长calcPerimeter,计算面积getArea;创建对象,调用定义的方法。
function juxing(width, height) {
            this.width = width;
            this.height = height;
        }

        juxing.prototype.isSquare = function () {
            if (this.width == this.height) {
                return true;
            }
            return false;
        }
        juxing.prototype.calcPerimeter = function () {
            return this.width * 2 + this.height * 2;
        }
        juxing.prototype.mianji = function () {
            return this.width * this.height
        }
        var jx = new juxing(20, 20);
        console.log("是否为正方形:" + jx.isSquare() + ",周长为:" + jx.calcPerimeter() + ",面积为:" + jx.mianji());

2)定义函数,实现日期格式化 ,传入日期对象,返回日期字符串。例如返回 ”2022 - 09 - 13 16: 33: 08“

function format(riqi) {
            var year = d.getFullYear() < 10 ? "0" + d.getFullYear() : d.getFullYear();
            //月份从0开始
            var month = d.getMonth() < 10 ? "0" + parseInt(d.getMonth() + 1) : d.getMonth() + 1;
            var date = d.getDate() < 10 ? "0" + d.getDate() : d.getDate();
            var hours = d.getHours() < 10 ? "0" + d.getHours() : d.getHours();
            var minutes = d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes();
            var seconds = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();
            return year + "-" + month + "-" + date + "" + " " + hours + ":" + minutes + ":" + seconds;
        }
        var d = new Date();
        var xj = format(d);
        console.log(xj);

3)定义函数,计算任意两个日期的差值,传入两个日期对象;返回 计算结果 ;例如 返回 ”1天2小时3分钟54秒"。

 function differenceValue(date1, date2) {
           //距离时间戳的毫秒数
           var time1 = date1.getTime();
           var time2 = date2.getTime();//差值
           var result = time1 > time2 ? time1 - time2 : time2 - time1;
           console.log(result);

           var day = parseInt(result / (24 * 60 * 60 * 1000));
           var hours = parseInt(result % (24 * 60 * 60 * 1000) / (60 * 60 * 1000));
           var minutes = parseInt(result % (60 * 60 * 1000) / (60 * 1000));
           var seconds = parseInt(result % (60 * 1000) / 1000);
           return "相差" + day + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒";
       }
       var date1 = new Date();
       var date2 = new Date(2022, 8, 13, 8, 12, 45);//因为月份从零开始,所以这里实际代表的是9月13日
       console.log(differenceValue(date1, date2));
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寂173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值