javascriptに選択ソートを使用しようとしていますが、機能しないようです。誰かが私を助けてくれますか?配列を並べ替える関数を作成し、テキストボックスから値を取得して、inputStringという名前の配列に格納します。次に、配列をコンマで分割し、inputNumbersという名前の配列に格納します。テキストボックスに存在しない場合番号の場合、エラーが表示されます。それ以外の場合は、ソートされた値が表示されます。
function sortNow(form) {
var nanExists = false;
var inputString = document.getElementById("numberID").value;
var inputNumbers = inputString.split(",");
for (var a = 0; a < inputNumbers.length; a++) {
inputNumbers[a] = parseInt(inputNumbers[a], 10);
if (isNaN(inputNumbers[a])) {
nanExists = true;
break;
}
}
inputNumbers = selectionSort(inputNumbers); //sort the array inputNumbers
if (nanExists)
form.answers.value = "Invalid Input";
else
{
for(var b=0; b < inputNumbers.length; b++)
{
form.answers.value += inputNumbers[b];
}
}
}
/* function to sort an array */
function selectionSort(inputArray) {
for(var i=0; i<inputArray.length; i++)
{
var currentMin = inputArray[i];
var currentMinIndex = i;
for(var j=i+1; j<inputArray.length; j++)
{
if(currentMin > inputArray[j])
{
currentMin = inputArray[j];
currentMinIndex = j;
}
if(currentMinIndex != i)
{
inputArray[currentMinIndex] = inputArray[i];
inputArray[i] = currentMin;
}
}
}
return inputArray;
}