数组习题

<script>
        // 1.从键盘接受10个整数,求出其中的最大值和最小值。

        // var maxNum = -Infinity;      //最大值假设为负无穷
        // var minNum = Infinity;       //同上,之不过最小值设假设为正无穷
        // 遍历数组
        // for (var i = 0; i < 10; i++) {
        //     var num = +prompt("请输入第" + (i + 1) + "个数");
                // 输入的数和最大值比较,如果输入的数大于最大值就赋值给最小值
        //     if (num > maxNum) {
        //         maxNum = num;
        //     }
                // 输入的数和最小值比较,如果输入的数小于最小值就赋值给最小值
        //     if (num < minNum) {
        //         minNum = num;
        //     }
        // }
        // console.log("最大值:" + maxNum);
        // console.log("最小值:" + minNum);



        // 2.输入10个数,保存在一个数组中,在数组中查找某个数字,给出是否找到信息,如果找到了输出该数在数组中所处的位置,如果找不到输出“找不到”

        // 设空数组
        // var arr = [];
        // 遍历空数组
        // for (var i = 0; i < 10; i++) {
        //     var inpNum = +prompt("请输入第"+(i+1)+"个数");
        //     arr[arr.length] = inpNum;
        // }

        // var findNum = +prompt("请输入要查找的数");
        // 假设要查找的数为-1,就为找不到否则就打印出该书在数组中的下标
        // if(arr.indexOf(findNum) == -1){
        //     alert("找不到");
        // }else{
        //     console.log(arr);
        //     alert("该数在数组的下标是"+arr.indexOf(findNum))
        // }

        // 3.如果一个数组保存元素是有序的(从大到小),向这个数组中插入一个数,使得插入后的数组元素仍然保持有序。
        // var arr = [17,15,13,11,9,7,5,3,1];
        // console.log(arr);
        // var num = +prompt("请输入要插入的数");
        // for (var i = 0; i < arr.length; i++) {
        //     if (num >= arr[i]) {
        //         arr.splice(i,0,num);
        //         break;
        //     }
        // }
        // console.log(arr);


        // 4.将一个数组中的元素逆序输出,即第一个元素和最后一个元素交换,第二个数与倒数第二元素交换…..,例如:原数组为:9     2 5 7  8,逆序后的数组为:8  7  5 2 9
        // var arr = [1,2,3,4,5,6,7,8,9];
        // console.log(arr.reverse());

            // 第二种
            // var arr1 = [3, 6, 1, 8, 5];
            // var num = arr.length;
            // 这里的用法和冒泡排序差不多
            // for (var i = 0; i < num / 2; i++) {
            //     var temp = arr1[i];
            //     var j = i + 1;
            //     arr1[i] = arr1[num - j];
            //     arr1[num - j] = temp
            // }
            // console.log(arr1);

        // 5.顾客从超市采购了10件商品,编写一个程序,用于接受每件商品的价格,计算应付的总金额。并分别打印出各个商品的价格以及应付的总金额的小票。
        // console.log("==========商品小票==========");
        // var sumTotal = 0;
        // for (var i = 0; i < 10; i++) {
        //     var goodsPrice = +prompt("请输入第" + (i + 1) + "件商品价格");
        //     console.log("第"+(i+1)+"件商品的价格:"+goodsPrice+"元");    
        //     sumTotal+= goodsPrice;
        // }

        // console.log("应付的总金额:"+sumTotal+"元");
        // console.log("===========================");


        // 6.编写一个程序,用于产生20个0 - 10之间的随机数,将这20个随机数存入数组,并通过函数统计这些随机数中某个数出现的次数

        var rNumFunc = function() {
            var arr = [];
            for (var i = 0; i < 20; i++) { //生成随机数数组
                arr[i] = Math.floor(Math.random() * 10);
            }
            console.log(arr);
            for (var i = 0; i < arr.length; i++) { //外层循环需要判断的数
                var index = 0; //查找的起始下标
                for (var j = 0, count = 0; j < arr.length; j++) { //内层循环数组统计出现的次数
                    if (arr.indexOf(arr[i], index) != -1) {
                        count++; //出现的次数
                        index = arr.indexOf(arr[i], index) + 1;
                    }
                }
                if (arr.indexOf(arr[i]) == i) { //输出去重
                    console.log("随机数" + arr[i] + "出现了" + count + "次");
                }
            }
        }
        rNumFunc();
        // 7.输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
        // var arr = [];
        // for (var i = 0; i < 5; i++) {
        //     var num = +prompt("请输入第" + (i + 1) + "个数");
        //     arr[arr.length] = num;
        // }
        // console.log(arr);
        // //冒泡排序
        // for (var i = 0; i < arr.length; i++) {          //外层循环每个数
        //     for (var j = 0; j < arr.length-1-i; j++) {  //内层循环剩余的数
        //         if (arr[j] < arr[j+1]) {                //判断相邻的数排序
        //             var temp = arr[j+1];
        //             arr[j+1] = arr[j];
        //             arr[j] = temp;
        //         }
        //     }
        // }
        // console.log(arr);
        // 8.定义一个用户数组,数组的每一项是一个用户对象,用户对象中包括账号和密码,随意初始化一些对象放入数组中。
        // 然后提示用户输入账号和密码,判断是否登录成功。
        // 先定义数组
            // var arr = [
            //     {'userName' : '张三', 'pwd':123},
            //     {'userName' : 'Linda', 'pwd':456},
            //     {'userName' : 'Mary', 'pwd':789}
            // ]
            // // 2.获取输入的数据
            // var name = prompt('请输入账号');
            // var pwd = prompt('请输入密码');

            // // 3.数组的遍历
            // for (var i = 0; i < arr.length; i++) {
            //     if (name == arr[i].userName && pwd == arr[i].pwd) {
            //         console.log('登录成功');
            //     }else{
            //         console.log('登录不成功');
            //     }            
            // }
    </script>
原文地址:https://www.cnblogs.com/zycs/p/13380751.html