一个小白问题,javascript关于slice选定元素的问题,之前是想通了的,最近在回顾时又给忘了,死活想不起来是怎么回事!

//将如下字符串按规律分割放到数组里
"李明:60; 小花:76; 小文:90; 小美:85;张华:68;李阳:74;天天:90;王强:69;小何:87;刘洋:72"

var scoreinfos="李明:60; 小花:76; 小文:90; 小美:85;张华:68;李阳:74;天天:90;王强:69;小何:87;刘洋:72";
var myarr=scoreinfos.split(";");
 for(var i=0;i<myarr.length;i++)
 
{
    document.write(myarr[i]+"<br/>");

//展示如下:
李明:60
小花:76
小文:90
小美:85
张华:68
李阳:74
天天:90
王强:69
小何:87
刘洋:72

//数组展示方式应该是这样:

myarr=[李明:60,小花:76,小文:90,小美:85,张华:68,李阳:74,天天:90,王强:69,小何:87,刘洋:72](这里有问题吗?)

//slice选定元素

document.write(myarr[i].slice(3)+"<br/>");

//展示如下
60
76
90
85
68
74
90
69
87
72
//可是按照slice定义从第3位选取,后面的都会被选上,应该展示这样;
60
小花:76
小文:90
小美:85
张华:68
李阳:74
天天:90
王强:69
小何:87
刘洋:72
//那是我哪里理解错了吗, 烦请指点一下,谢谢!

人到中年有点甜
浏览 401回答 3
3回答

一只萌萌小番薯

...你 split 之后 数组变为这样他是 这样分的 var arr = ['李明:60', '小花:59']for 循环 不是说 arr[0].slice(3) => 60 arr[1].slice(3) => 59

郎朗坤

var scoreinfos="李明:60; 小花:76; 小文:90; 小美:85;张华:68;李阳:74;天天:90;王强:69;小何:87;刘洋:72"; var myarr=scoreinfos.split(";"); 得到的结果是一个字符串数组 ["李明:60", " 小花:76", " 小文:90", " 小美:85", "张华:68", "李阳:74", "天天:90", "王强:69", "小何:87", "刘洋:72"] myarr[i] 遍历出的是数组中字符串原字符串.slice(3) 结果才是你期待的答案随手丢 link MDN split

炎炎设计

split() 方法用于把一个字符串分割成字符串数组。它是在";"切割,所以你得到的数组是["李明:60", " 小花:76", " 小文:90", " 小美:85", "张华:68", "李阳:74", "天天:90", "王强:69", "小何:87", "刘洋:72"],你是在这里理解错了。如果你想得到你想要的,应该是 var myarr=scoreinfos.split(";"); document.write(myarr.slice(3)+"<br/>"); 不需要去遍历数组,你那样是得到myarr中的元素 myarr[0].slice(3) => 60
打开App,查看更多内容
随时随地看视频慕课网APP