• 数组习题


    <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>
  • 相关阅读:
    python3.5过滤网址和图片的函数自己亲测可用
    关于接口数据编写的思路整理
    Mysql db
    在Maven中设置Nexus私有服务为中央工厂
    maven 镜像使用
    maven 自建库
    Windows批处理(cmd/bat)常用命令小结
    springmvc and maven
    spring 源码解析
    spring aop 原理
  • 原文地址:https://www.cnblogs.com/zycs/p/13380751.html
Copyright © 2020-2023  润新知