JavaScript分割字符串转化的数组

JavaScript有一个字符串变量: var str = "1,学生|2,老师|3,用户|4,管理员|"; 变量是用","和"|"分隔的(也就是“逗号”和“竖线”分隔的),谁能帮把它转换为两个数组,a={1,2,3,4} 和b{学生,老师,用户,管理员},两数组相对应。本人万分感激!方法最好能写简单点,我是初学者。谢谢。

var str = "1,学生|2,老师|3,用户|4,管理员|"; var s = str.split('|');var sNum = [],sName =[];for(var i=0;i<s.length;i++){ if(s[i]!=''){var a = s[i].split(',');sNum[sNum.length]=a[0];sName[sName.length]=a[1]}}alert('sNum:'+sNum+'\n'+'sName:'+sName);
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-18
//完成后arr1中存放的是1,2,3,4
//arr2中存放的是学生,老师,用户,管理员
var str = "1,学生|2,老师|3,用户|4,管理员|";
var arr1=new Array();
var arr2=new Array();
var temp=str.split("|");
for(var i=0;i<temp.length-1;i++)
{
var s_temp=temp[i].split(",");
for(var j=0;j<s_temp.length;j++)
{
if(j%2==0)
{
arr1.push(s_temp[j]);
}
else
{
arr2.push(s_temp[j]);
}
}
}本回答被网友采纳
第2个回答  2017-10-02
var arr = str.split(/\||,/);
var a=[],b=[];
for(var i=0; i< arr.length-1; i++ ){
if(i%2){
a.push(arr[i]);
}else{
b.push(arr[i]);
}
}