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 先用; 分号 拆分 成一维数组,然后想用冒号“:”拆分成二位数组 然后单独拿出成绩 进行计算。 但是发现拆分完后写入数组竟然是一维的。 跟其他语言不太一样。
该如何处理?
//没怎么明白你的意思,你是否要得是结果是 [{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);