심심해서 만들어 보았습니다. 금방 할 줄 알았는데, 생각보다 힘들었네요.😰
숫자를 여러개 입력하면 정렬(sort)하는 단순한 프로그램입니다.
※ 약간의 오류가 있는데 코드 단순화를 위해서 그냥 뒀습니다. (입력값이 없거나 1,2,3, 등의 경우)
정렬할 숫자를 입력하세요. (빈칸 또는 쉼표로 구분해 주세요.)
심심해서 만들어 보았습니다. 금방 할 줄 알았는데, 생각보다 힘들었네요.😰
숫자를 여러개 입력하면 정렬(sort)하는 단순한 프로그램입니다.
※ 약간의 오류가 있는데 코드 단순화를 위해서 그냥 뒀습니다. (입력값이 없거나 1,2,3, 등의 경우)
정렬할 숫자를 입력하세요. (빈칸 또는 쉼표로 구분해 주세요.)
<style>
#input, #result { box-sizing: border-box; width: 500px; max-width: 100%; }
#result { padding: 5px 10px; min-height: 30px; border: 1px solid seagreen; }
</style>
<p>정렬할 숫자를 입력하세요. (빈칸 또는 쉼표로 구분해 주세요.)</p>
<p>
<button onclick="randomInput()">랜덤 입력</button>
<button onclick="clearInput()">비우기</button>
</p>
<p><input id="input" type="text" placeholder="여기 입력"></p>
<p>
<button onclick="sortAndOutput()">오름차순 정렬</button>
<button onclick="sortAndOutput(true)">내림차순 정렬</button>
</p>
<p id="result"></p>
<script>
function randomInput() {
var arr = [];
var count = Math.floor(Math.random() * 16) + 5; // 5 ~ 20
for (var i = 0; i < count; i++) {
var n = Math.floor(Math.random() * 101); // 0 ~ 100
arr.push(n);
}
document.getElementById("input").value = arr.join(", ");
}
function clearInput() {
document.getElementById("input").value = "";
}
function sortAndOutput(isDescending) {
var text = document.getElementById("input").value;
// 입력값을 분리한후에 숫자화시키고 NaN을 제거합니다.
var ar = text.trim().split(/[\s,]+/).map(Number).filter(n => !isNaN(n));
if (isDescending) ar.sort((a, b) => b - a);
else ar.sort((a, b) => a - b);
document.getElementById("result").innerHTML = ar.join(", ");
}
</script>