数组小练习

1,创建一个对象,该对象存储一个学生的信息,该对1,象包含学号、身份证、年龄、性别、所学专业等属性信息,同时该对象包含一个自我介绍的方法,用来输出该对象的所有信息

var student = {
             uname: 'quqing',
             num: 110,
             idcode: 43555,
             age: 34,
             sex: '男',
             zhuangye: 'h5',
             decoration: function () {
                 return "我的名字叫:" + this.uname + ",是一个" + this.sex + ",我今年" + this.age + "岁,我的专业是:" + this.zhuangye;
             }
         }
         console.log(student.decoration());

2.定义一个含有10个元素的数组,任意输入一个数,判断这个数在数组中是否存在,如果存在,就删除这个数.

 var arr = [452, 5, 4, 6, 6, 6, 6, 63, 76, 6, 43, 76];
        function deleteNum(arr, num) {
            for (var i = 0; i < arr.length; i++) {//遍历数组
                if (arr[i] === num) {//判断Num是否存在在数组当中
                    arr.splice(i, 1);//删除这个元素
                    i--;//删除元素后,长度变短,所以要返回上一次继续循环
                }
            }
            return arr;
        }
       deleteNum(arr, 6);
       console.log(arr);

3.输入若干个成绩存入到数组中,输入负数后退出。 统计数组平均成绩,输出低于平均成绩的分数并统计低于平均成绩的学生个数

function jisuanScore() {
             //获取成绩
             var score;
             scoreArr = [];//用来保存成绩
             totalScore=0;//用来保存总成绩
             count=0;
             while (true) {
                 score = Number(prompt("输入成绩"));
                 if (!isNaN(score)) {//数字
                     if (score < 0) {
                         break;//退出
                     } else if (score > 100) {
                         alert("成绩不在范围,请重新输入")
                     } else {
                         scoreArr.push(score);
                     }
                 } else {
                     alert("输入有误,请重新输入")
                 }
             }
             //计算平均成绩
             var avgScore=totalScore/scoreArr.length;
             for(var i=0;i<scoreArr.length;i++){
                 console.log(scoreArr[i]);
                 count++;
             }
             console.log(scoreArr,totalScore,count);
         }
         jisuanScore();

4.定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程。

function test() {
                //获取数组
                var index = 2;
                var evenNumber = [];
                var count = 0;
                var sum = 0;
                var avgArr = [];
                while (index <= 60) {
                    evenNumber.push(index);
                    count++;
                    sum += index;
                    if (count === 5) {
                        //console.log(sum/5);
                        avgArr.push(sum / 5);
                        sum = 0;//每一次sum要从0开始计算
                        count = 0;
                    }
                    index += 2;
                }
                console.log(avgArr);
            } test();

5. 随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么

function fn(){
                   var randNum=parseInt(Math.random()*10000);
                  console.log(randNum);
                   var arr=[];
                   var textArr=["个位是: ","十位是:","百位是:","千位是:"]
                   var count=0;
                   while(randNum){//0
                   arr.push(textArr[count]+randNum%10);
                   randNum=parseInt(randNum/10);//执行了几次循环,randNum就是几位数
                   count++;
                   }
                   console.log(count,arr);

                }fn();

6. 编写函数map(arr) 把数组中的每一位数字都增加30%

var arr = [2, 3, 4, 5, 6]
             function fn(arr) {
                  for (var i = 0; i < arr.length; i++) {
                      arr[i] *= 1.3;
                  }
              } fn(arr);
              console.log(arr);

7.有一个从小到大排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

        //            例如  原数组  [3,10,49,89,100]
        //             插入一个数 15  
        //               新数组为   [3,10,15,49,89,100]
        //            思路 : 找到 要添加数的下标      a--在数组中的某个数据的位置上
        //                                          b-- 在数组中的最后添加  arr.length
var arr = [3, 10, 49, 89, 100];
         function insertNum(arr, num) {
             var index = arr.length;
             //只要num遇到一个比他大的元素,就在当前位置插入
             for (var i = 0; i < arr.length; i++) {
                 if (arr[i] > num) {
                     arr.splice(i, 0, num);//当前位置插入;
                     index = i;//保留插入位置的下标
                     break;//不需要在往下比较
                 }
             }
             arr.splice(index, 0, num);
         }
         insertNum(arr, 150)
         console.log(arr);

8、 定义一个含有10个元素的数组 计算下标为奇数的元素的平均数(自定义函数实现)

 var arr = [1, 23, 4, 5, 6, 7, 8, 9, 0,];
           function fn(arr) {
               var avg = 0;
               var count = 0;
               for (var i = 0; i < arr.length; i++) {
                   if (i % 2 != 0) {
                       avg += arr[i];//下标为奇数
                       count++;
                   }
               } return avg / count;
           }
          
           console.log( fn(arr));

9、 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

    每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,
请编写一个函数,传入原文,输出密文
function getPass(num) {
            var passArr = [];
            while (num) { 
                passArr.push((num%10  + 5) % 10);
                num = parseInt(num / 10);//执行四次: 个 十 百 千
            }
            return Number(passArr.join(""));
        }
        var pass=getPass(4758);
        console.log(pass);
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352