我有一个包含由“,”和“;”分隔的一和零的字符串。
var x = "1,1,0;1,0,0;1,1,1;"; x.split(";");
这将输出一个只有两个字符串的数组:1,0,0 和 1,1,1。
我想要的是将所有这些数字放在一个二维数组中:
1 1 0
1 0 0
1 1 1
如果有比拆分字符串更聪明的方法,请告诉我。
否则,请告诉我如何解决上述问题。
我有一个包含由“,”和“;”分隔的一和零的字符串。
var x = "1,1,0;1,0,0;1,1,1;"; x.split(";");
这将输出一个只有两个字符串的数组:1,0,0 和 1,1,1。
我想要的是将所有这些数字放在一个二维数组中:
1 1 0
1 0 0
1 1 1
如果有比拆分字符串更聪明的方法,请告诉我。
否则,请告诉我如何解决上述问题。
你可能想要这样的东西
var str = "1,1,0;1,0,0;1,1,1";
var arr = str.split(";");
for (var i = 0, len = arr.length; i < len; i++)
{
arr[i] = arr[i].split(",");
}
并验证结果
for (var i = 0, len = arr.length; i < len; i++)
{
for (var j = 0, len2 = arr[i].length; j < len2; j++)
{
document.write(arr[i][j] + " | ");
}
document.write("<br>");
}
给定字符串:
var x = "1,1,0;1,0,0;1,1,1";
您可以通过这种方式获得一个由零和一组成的二维数组:
var st = x.split(";")
var twoDimensionalArray = st.map(function(k){
return k.split(",");
});
当然,多亏了 JS 方法链,你可以这样做:
var twoDimTable = x.split(";").map(function(k){
return k.split(",");
});
结果:
[
["1","1","0"],
["1","0","0"],
["1","1","1"]
]
好吧,得到结果
[
[1,1,0],
[1,0,0],
[1,1,1]
]
你可以做一个循环,并为数组中的每个值 k 做 k = +k; 你会得到数字而不是字符串。但是,当您在带有数字的操作中使用这些值时,JavaScript 会为您进行转换。