配列文字列 = "[10, 20, 30]" → 数値配列[0]=10. 数値配列[1]=20. 数値配列[2]=30
function NumberArray(配列文字列) {
var 文字列 = 配列文字列;
var 数値配列 = [];
// ====== 空白, ], を削除
文字列 = 文字列.replace(/\s+/g, "");
文字列 = 文字列.replace("[", "");
文字列 = 文字列.replace("]", "");
if (文字列 == "") {
return "NuN";
}
// ====== 配列にする
var 文字配列 = 文字列.split(",");
var 要素数 = 文字配列.length;
for (var i=0; i<要素数; i++) {
数値配列[i] = Number(文字配列[i]);
}
return 数値配列;
}
function NumberArrayTest1() {
var 配列文字列 = "[10, 20, 30]"; // [ ] あり
var 数値配列 = NumberArray(配列文字列);
alert(数値配列);
}
function NumberArrayTest2() {
var 配列文字列 = "10, 20, 30"; // [ ] なし
var 数値配列 = NumberArray(配列文字列);
alert(数値配列);
}
function NumberArrayTest3() {
var 配列文字列 = "10"; // 要素数=1
var 数値配列 = NumberArray(配列文字列);
alert(数値配列);
}
function NumberArrayTest3() {
var 配列文字列 = " "; // 要素なし("" 空白や [ ] があっても数値がない)NuNを戻す
var 数値配列 = NumberArray(配列文字列);
alert(数値配列);
}
2次元配列を行別に与えます。最後の行以外に「要素なし」があってはなりません。
<form name="NumberArrayForm">
<input type="text" size="100" value= "[100, 101, 102]"></input><br>
<input type="text" size="100" value= "110, 111"></input><br>
<input type="text" size="100" value= "120, 121, 122"></input><br>
<input type="text" size="100" value= ""></input>
</form>
<button onClick="NumberArrayTest5()">実行</button>
<div id="NumberArray表示場所" class="blue"></div>
:
function NumberArrayTest5() {
var 配列文字列 = [];
var 数値配列 = [];
var jmax = 0;
for (var i=0; i<4; i++) {
var w = document.NumberArrayForm[i].value;
if (w == "") break;
配列文字列[i] = w;
数値配列[i] = NumberArray(配列文字列[i]);
jmax = Math.max(jmax,数値配列[i].length);
}
return 数値配列;
}