スタートページJavascripttips

数値配列 = NumberArray(配列文字列)

配列文字列 = "[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 で与える

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 数値配列;
}