LV2之-----JS 数组&数组对象方法----------练习

数组&数组对象方法----------练习

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>数组方法练习</title>
    <link rel="stylesheet" href="">
</head>

<body>
    <script>
        1.用数组实现输入10个成绩,求总分,最高分,最低分
        var grade=[ ]
         for(i=0;i<10;i++){
             grade[i]=parseInt(prompt('请输入第'+i+'个成绩数'))
             console.log(grade)
        }
        grade.sort(function(a,b){ return a-b;
        });
        console.log('最低分'+ grade[0]);
        console.log('最高分'+ grade[grade.length-1]);


        1.猜数字游戏,有一个0-100随机数 玩家有5次输入的机会猜,每次猜一次,都要将结果告诉玩家是小了,还是大了 如果在5次机会内猜中, 输出“聪明”,程序结束如果5次机会用完 程序直接结束。
        var number=parseInt(Math.random()*100);
        //------定义一个随机数
        for(i=0;i<5;i++){

            var user=window.prompt('请输入你猜的数字')
            if(user<number){
                alert('猜小啦')
            }
            else if(user<number){
                alert('猜大啦')
            }
            else if(user=number){
                alert('猜中了,真聪明!')

            }
            else{
                alert('机会已用完')
            }
        }

     2.有一个4个长度的数组,每个位置装有0-9之间的随机数字,有10次输入的机会来猜每个位置的上的数是什么, 每次猜完4个数字以后都要给出提示,正确几个 错误几个,只有位置和数字完全正确才算正确,其他情况全视为错误。
        var arr = []
        for (i = 0; i < 4; i++) {
            arr[i] = parseInt(Math.random() * 10)
        }
        console.log(arr)
        for (opp = 0; opp < 10; ++opp) {
            var opps = prompt('请连续输入你猜的4个数字')
            var turetime = 0,
                falsetime = 0;
            for (var con = 0; con < arr.length; con++) {
                if (parseInt(opps[con]) == arr[con]) {
                    turetime = turetime + 1;
                } else {
                    falsetime = falsetime + 1;
                }
            }
            alert('猜对了' + turetime + '个')
            alert('猜错了' + falsetime + '个')

        }
        ------------------------------------另一种方法如下-------------------------------

        var qArr = new Array(4) // 数组 通过对象 形式定义  里面默认值 有且只有一个数字的时候  表示 设置长度

        for (var i = 0; i < qArr.length; i++) {
            qArr[i] = parseInt(Math.random() * 10)
        }
        console.log(qArr)
        for (var j = 0; j < 10; j++) {
            var aArr = new Array()
            // var yesNum=0,noNum=0
            var num = 0
            for (var k = 0; k < qArr.length; k++) {

                aArr.push(window.prompt('第' + (j + 1) + "轮的第" + (k + 1) + "个"))

            }
            for (var m = 0; m < qArr.length; m++) {
                if (qArr[m] == aArr[m]) {
                    // yesNum++
                    num++
                }
            }
            alert('正确' + num + '---错误' + (4 - num));

            if (num == 4) {
                alert('真聪明')
                break;
            }
            console.log(aArr)
        }



       3. 根据双色球摇奖规则,产生6个红球1个蓝球;红球范围1-33, 蓝球范围1-16. 红球不能有重复的产生。

       思路:每次产生一个随机球,存入数组中,下一次产生的随机球,要和数组中的进行比较,如果有相等的,
 则重新产生一个号(循环变量要减1),反之继续存入数组;直到产生6个球;蓝球单独产生;最后输出所有球。
  1、数组去重  [1,2,3,4,2,1,3,5,6,9,5]  返回出来的结果 [1,2,3,4,5,6,9]

  2、数组排序  [1,2,3,4,2,1,3,5,6,9,5]  返回出来的结果 [1,1,2,2,3,3,4,5,5,6,9]
    </script>

</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值