JS一维数组拆分 的方法 编程二位数组失败了?

来源:7-23 编程练习

yummy5

2017-03-16 10:08

var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var score_arr = scoreStr.split(';');
document.write(score_arr+'一维数组<br>');
document.write(score_arr.length+"一维数组长度<br>");
var score_arr_all = new Array();
for(var i= 0 ; i < score_arr.length; i++){
 //把一维数组分割为二位数组,然后把所有的二位数组都拼接,找到成绩。然后转换,求职
 //document.write(score_arr[i].split(':'));
 score_arr_all = score_arr_all.concat(score_arr[i].split(':'));  // 问题在这里,不会改变原来的,值产生一个新的数组,所以不会连续增加。
 score_arr_all[i]= score_arr[i].split(':');
}


----如上  用split 先用; 分号 拆分 成一维数组,然后想用冒号“:”拆分成二位数组 然后单独拿出成绩 进行计算。 但是发现拆分完后写入数组竟然是一维的。  跟其他语言不太一样。
该如何处理?

写回答 关注

1回答

  • Fly_Jie
    2017-03-16 10:23:01
    已采纳
    //没怎么明白你的意思,你是否要得是结果是 [{name:"小明",score:87}...]这种结果?如果是...
    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
    var splitArr = scoreStr.split(";");
    var resultArr = [];
    splitArr.forEach(function(item,itemIndex){
        var tempArr = item.split(":");
        resultArr.push({name:tempArr [0],score:tempArr [1]})
    });
    console.table(resultArr);


    yummy5

    恩,是这个意思。谢谢啊

    2017-03-16 21:21:00

    共 1 条回复 >

JavaScript进阶篇

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

468869 学习 · 22582 问题

查看课程

相似问题