「、」と「;」で区切られた 1 と 0 を含む文字列があります。
var x = "1,1,0;1,0,0;1,1,1;"; x.split(";");
これは、1,0,0 と 1,1,1 の 2 つの文字列だけを含む配列を出力します。
私が望むのは、これらすべての数値を 2 次元配列に入れることです:
1 1 0
1 0 0
1 1 1
文字列を分割するよりもスマートな方法がある場合は、お知らせください。
そうでなければ、上記の問題を解決する方法を教えてください。
「、」と「;」で区切られた 1 と 0 を含む文字列があります。
var x = "1,1,0;1,0,0;1,1,1;"; x.split(";");
これは、1,0,0 と 1,1,1 の 2 つの文字列だけを含む配列を出力します。
私が望むのは、これらすべての数値を 2 次元配列に入れることです:
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";
次の方法で、0 と 1 の 2 次元配列を取得できます。
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 が自動的にキャストします。