成绩数据怎么转换成二维数组?

来源:7-23 编程练习

teratsuki

2017-04-18 15:04

小明:87; 小花:81; 小红:97; 小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76

用;隔成一维后就不知道怎么做了

写回答 关注

4回答

  • Jeoop
    2017-04-21 09:44:48
    已采纳

    这里可以借鉴定义二维数组的方法:

    var myarr=new Array();  //先声明一维 
    for(var i=0;i<2;i++){   //一维长度为2
       myarr[i]=new Array();  //再声明二维 
       for(var j=0;j<3;j++){   //二维长度为3
       myarr[i][j]=i+j;   // 赋值,每个数组元素的值为i+j
       }
     }

    参照上述方法,这里我们可以这么做

      var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
      var newscoreStr = scoreStr.split(";");
      var length = newscoreStr.length;
      var sum = 0;
      for(var i = 0;i<length;i++)
      {
        newscoreStr[i] = newscoreStr[i].split(":");
        sum = sum + parseInt(newscoreStr[i][1]);
      }


    terats...

    非常感谢!

    2017-04-28 11:21:46

    共 1 条回复 >

  • xiaobais
    2017-04-18 16:52:21

    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

    var arr = scoreStr.split(";");                       //转成数组

    var zh = 0;                                                  //变量    总和

    var pj = 0;                                                   // 变量   平均

    for(i = 0; i < arr.length; i++) {                     //循环读取分数

            var wz = arr[i].indexOf(":");                         //取出一个数,定位“:”所在位置

             zh = zh + parseInt(arr[i].substr(wz + 1, 2));     //取出“:”后面的分数累加起来   ,parseInt整形

    }

    pj = Math.floor(zh / arr.length);                        //计算平均,取整。

    document.write(pj);


  • 白问
    2017-04-18 16:36:24

    比如:[['小明',87],['小花',8], ['小红',97]]

    白问

    怎么删掉

    2017-04-18 16:37:08

    共 1 条回复 >

  • 白问
    2017-04-18 16:36:18

    比如:[['小明',87],['小花',8], ['小红',97]]

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468786 学习 · 22562 问题

查看课程

相似问题