안녕하세요! 몇시간 째 교재를 보고 있는데 도저히 모르겠어서 질문 드립니다 ㅠㅠ
지금 만든 소스에서 평균값 순서대로 학생들을 정렬시키고 싶은데 어떤 객체를 이용해야 하나요??
sort()는 교재에 문자열에 대한 정렬이라고 되어있는데 숫자를 오름차순, 내림차순 정렬시키려면 어떻게 해야하나요!
안녕하세요! 몇시간 째 교재를 보고 있는데 도저히 모르겠어서 질문 드립니다 ㅠㅠ
지금 만든 소스에서 평균값 순서대로 학생들을 정렬시키고 싶은데 어떤 객체를 이용해야 하나요??
sort()는 교재에 문자열에 대한 정렬이라고 되어있는데 숫자를 오름차순, 내림차순 정렬시키려면 어떻게 해야하나요!
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 읽어주세요! 연습문제 및 실습문제 정답 공개에 관한 공지입니다. | 관리자 | 2017.06.20 | 18281 |
283 | 실습문제 7장에 8번 질문 1 | abcd | 2017.05.09 | 994 |
282 | 실습문제 7장 5번 1 | 유등등 | 2020.12.17 | 711 |
281 | 실습문제 7장 2번의 입력된 반대순으로 출력이 넘 힘듭니다 도움좀 주세요 제발 ㅠㅠ | 도널드임 | 2019.05.27 | 1130 |
280 | 실습문제 7장 2번 질문있습니다 1 | jobjob | 2017.04.04 | 1458 |
279 | 실습문제 6장 6-(1) 어떻게 하는 건가요? 1 | 초보자 | 2020.12.23 | 215 |
278 | 실습문제 6장 5번 | littlelion | 2018.06.20 | 780 |
277 | 실습문제 6장 3번-2 1 | 어려워 | 2019.11.15 | 200 |
276 | 실습문제 5장 9번 1 | 아 | 2020.10.08 | 212 |
275 | 실습문제 5장 8번 1 | rrr | 2018.04.18 | 412 |
274 | 실습문제 5장 3번 254p 1 | RVQ | 2018.05.10 | 332 |
273 | 실습문제 4장의 8번 2 | ㅁㄴㅇㄹ | 2018.12.14 | 334 |
272 | 실습문제 4장 8번 1 | 오 | 2020.09.27 | 502 |
271 | 실습문제 3장 2번, 4장 8번 질문 다시 올려요. | littlelion | 2018.04.20 | 1587 |
270 | 실습문제 11장 4번 1 | ㅎㅇ | 2018.12.02 | 471 |
269 | 실습문제 1 | 키보드 향기 | 2020.06.07 | 120 |
268 | 실습 문제 4장 4번 문제에 대해서 질문드립니다. 1 | ㅇㅇ | 2020.10.11 | 122 |
267 | 실습 8장 8번 문제 질문이요! 1 | 꽁 | 2020.11.03 | 247 |
266 | 스타일 시트 객체 2 | 한성이 | 2022.08.09 | 32 |
265 | 스크립트에서 document.write로 표 만들기 질문드립니다. 1 | 입문한 사람 | 2020.06.08 | 1113 |
264 | 선생님 정말 고맙습니다 재질문도 드리고 싶습니다 | 입문한 사람 | 2020.04.07 | 137 |
sort()를 예와 함께 간단히 설명하겠습니다. 아래의 코드와 주석을 읽어 보세요.
sort()의 매개변수가 아무것도 주어지지 않으면 배열을 문자열로 해석하고 증가순으로 정렬합니다.
아래에는 감소순, 증가순의 두 경우가 있고
실행해보면 var n = [4, 1, 8, 2, 6] 배열이
감소순 -> 8,6,4,2,1
증가순 -> 1,2,4,6,8
으로 출력된 것을 볼 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Array 객체의 메소드 활용</title>
</head>
<body>
<script>
var n = [4, 1, 8, 2, 6]; // 소팅에 사용할 정수 배열
// 1. 감소순으로 정렬하여 출력하는 사례
n.sort(function(a, b) { // a와 b를 비교하는 누가 큰지 비교하는 함수
return b - a;
});
// sort()가 동작하는 과정을 설명해보자.
// 배열 n의 sort()는 매개 변수로 주어진 함수를 호출하여
// 배열 n의 원소들을 버블소팅방식으로 계속비교하여 정렬하는데
// ***중요**** 함수가 음수를 리턴하면 두 값을 바꾸지 않고
// ***중요**** 양수를 리턴하면 두 값을 바꾼다.
// 예를 들면 sort()는 function(a, b)를 호출하고 배열 n의 원소 두 개(4, 1)를 a, b에 넘겨주면
// return b-a는 return -3이 되고 음수가 리턴된다.
// 그러므로 sort()는 어떤 두 수(4, 1)에 대해 순서를 바꾸지 말아야 한다고 판단한다.
// 다시 sort()는 function(a, b)를 호출하여 (1, 8)을 넘겨주면 함수를 8-1=7, 즉 양수를 리턴하므로
// sort()는 두 수의 위치를 바꾼다. 결국 배열 n = [4, 8, 1, 2, 6]의 모양이 된다. 즉 제일 작은 수를 끝으로 보내는 식이다.
// 이런 식으로 끝까지 하면 배열 n = [4, 8, 2, 6, 1]이 되고
// 다시 sort()는 [4, 8, 2, 6]에 대해서만 바로 전에 한 방식으로 루프를 돌면 제일 작은 수가 끝으로 보내면
// n = [8, 4, 6, 2, 1]로 바뀌고
// n = [8, 6, 4, 2, 1]로 바뀌고
// 정렬이 종료된다. 이것이 버블소팅이다.
document.write(n + "<br>"); // 배열 출력
// 2. 증가순으로 정려하여 출력하는 다른 사례
function increasingOrder(a, b) { /* a와 b를 비교하는 누가 큰지 비교하는 함수 */
return a - b; // 양수를 리턴하면 자리바꾸기. 즉 큰 값을 뒤로 보내기. 즉 증가순으로 정렬
}
// sort()는 배열의 n의 원소들을 버블소팅방식으로 계속비교하여 정렬하는데,
// increasingOrder() 함수를 호출하여 두 수가 큰지를 비교
n.sort(increasingOrder);
document.write(n + "<br>");
</script>
</body>
</html>