为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

//没怎么明白你的意思,你是否要得是结果是 [{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);


1 回复 有任何疑惑可以回复我~
#1

yummy5 提问者

恩,是这个意思。谢谢啊
2017-03-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       469021    人
  • 解答问题       22582    个

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

进入课程

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

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号