在Js编程中,有时候需要将一个字符串转换为一维数组或者是二维数组,现在分享给大家我自己把字符串转换为数组的方法。
直接上源代码:
<script type="text/javascript">
//这是需要转换的字符串
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
//使用split方法将字符串转换为一维数组,以;为分隔符
var arr1 = scoreStr.split(";");//如果转成一维的,这里已经完成了,下面代码删除
//定义我们要存放数据的一维数组(实际上是二维数组,后面会转变,只不过js无法直接定义二维数组)
var arr2 = new Array(arr1.length);
//遍历一维数组,并将一维数组的值通过临时数组转移到二维数组里面
for (var i = 0; i < arr1.length; i++)
{
//定义临时数组
var temp =new Array(2);
//将一维数组再次拆分,准备存入二维数组
temp = arr1[i].split(":");
//定义将要存放数据的一维数组的每一个元素都为一个数组(实际上就是定义二维数组了)
arr2[i] = new Array(temp.length);
//遍历临时数组将其值存入二维数组
for (var j = 0; j < temp.length; j++)
{
arr2[i][j] = temp[j];//完成字符串转换为二维数组
};
};
// 下面是遍历二维数组,检测结果是否正确,实际使用中可以删除
// for (var i = 0; i < 10; i++) {
// for (var j = 0; j < 2; j++) {
// document.write(arr2[i][j]);
// };
// document.write("<br/>");
// };
</script>
在这里还是解释一下split方法:
说明:split是JS的一个内置对象——String的方法,字符串对象可以调用split方法将字符串分割为字符串数组,并返回此数组。
语法:stringObject.split(separator,limit);
参数:separator,必选参数,从该参数出现的地方分隔stringObject,limit,可选参数,分隔的次数。
注意:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
*以上代码值得注意的地方是数组定义的位置,在哪一层的循环里面定义?读者可以自行修改,测试结果,看有什么不同。
如有错误,请指正哟!
如若不懂,可联系哟!