0
선택 정렬 방법을 사용하는 코드를 만들려고하는데 문제가 있습니다. 내 버튼을 누르면 아무 일도 일어나지 않습니다. 코드에서 두 번째 눈동자가있는 것이 틀린 점을 찾는 데 도움이 될 것입니다.배열 정렬 (자바 스크립트)
내 swap() 함수가 올바 릅니까? 내 select() 함수가 올바른가요? 내가 도대체 뭘 잘못하고있는 겁니까? 모든 도움을 환영합니다!
<input id="input1" type="number" min="5" max="1000" onchange="first(); sortButton();">
<p id="demo"></p>
<!-- button appears here, once a value is entered into the input field -->
<p id="buttons1" onclick="select();"></p>
<p id="demo2"></p>
<script>
// once input1 value changes this outputs a random value less than N (value of input1) N times, then dumps out the random numbers in id="demo"
var arr = [];
function first() {
var N = document.getElementById("input1").value;
while(arr.length < N)
{var randomnumber = Math.ceil(Math.random()*N);
arr[arr.length] = randomnumber;}
document.getElementById("demo").innerHTML = arr;}
// Once input1 value changes, this buttons appears in id="buttons"
function sortButton() {document.getElementById("buttons1").innerHTML =
'<button type="button" onclick="select();">Select Sort</button>';}
function swap(arr, i, min) {
var temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;}
// meant to sort (selection sort method) the random numbers in id="demo" once the button is clicked
function select() {var len = arr.length, min, i, j;
for (i = 0; i < len; i++){min = i; for (j = i+1; j < len; j++){if (arr[j] < arr[min]){min = j;}} if (i != min){swap(arr, i, min);} } return arr;}
</script>
내부 Html은 문자열 일 것으로 예상됩니다. arr.join ("") –
을 사용하여 arr을 문자열로 변환하면 어디에서 쓸 수 있습니까? - 나랑 벗겨 줘. 나는 아주 재미있어. – anon
Blablabla.innerHTML = arr.join (""); –