Tuesday, May 29, 2007
자바스크립트] 중간값, 중앙값(메디안) 구하기 함수; JavaScript Median Function
자바스크립트에서, 다음의 getMedian() 함수를 사용하면, 배열의 중앙값(Median)을 구할 수 있습니다. 단, 숫자 크기 순으로 이미 정렬된 배열을 함수에 입력해야 합니다. 그렇지 않으면 틀린 값이 나오게 됩니다.
소스 파일명: example.html
▶▶ 자바스크립트] 배열의 평균 값, 합계 구하기 함수; JavaScript Sum, Average, Mean Array
JavaScript: 중간값 구하기 예제 소스
소스 파일명: example.html
<script type="text/javascript">
var a;
a = new Array( 1, 2, 3 );
a.sort(); // 크기 순으로 정렬
document.write(getMedian(a), '<br />');
// 출력 결과: 2
a = new Array( 1, 2, 3, 4 );
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 2.5
a = new Array( 4, 3, 1, 2 );
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 2.5
a = new Array( 1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299 );
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 1320
a = new Array( 1, 2 );
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 1.5
// 요소 개수가 1개뿐인 배열은 이렇게 지정해야 합니다
// 다음은, 100 이라는 숫자 하나만 들어 있는 배열 정의
a = new Array();
a[0] = 100;
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 100
// 중앙값 계산 함수
// 크기 순으로 이미 정렬된 배열을 입력해야만 합니다
// 범용성을 위해서 이 함수 자체에는 정렬 기능 미포함
function getMedian(array) {
if (array.length == 0) return NaN; // 빈 배열은 에러 반환(NaN은 숫자가 아니라는 의미임)
var center = parseInt(array.length / 2); // 요소 개수의 절반값 구하기
if (array.length % 2 == 1) { // 요소 개수가 홀수면
return array[center]; // 홀수 개수인 배열에서는 중간 요소를 그대로 반환
} else {
return (array[center - 1] + array[center]) / 2.0; // 짝수 개 요소는, 중간 두 수의 평균 반환
}
}
</script>
var a;
a = new Array( 1, 2, 3 );
a.sort(); // 크기 순으로 정렬
document.write(getMedian(a), '<br />');
// 출력 결과: 2
a = new Array( 1, 2, 3, 4 );
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 2.5
a = new Array( 4, 3, 1, 2 );
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 2.5
a = new Array( 1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299 );
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 1320
a = new Array( 1, 2 );
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 1.5
// 요소 개수가 1개뿐인 배열은 이렇게 지정해야 합니다
// 다음은, 100 이라는 숫자 하나만 들어 있는 배열 정의
a = new Array();
a[0] = 100;
a.sort();
document.write(getMedian(a), '<br />');
// 출력 결과: 100
// 중앙값 계산 함수
// 크기 순으로 이미 정렬된 배열을 입력해야만 합니다
// 범용성을 위해서 이 함수 자체에는 정렬 기능 미포함
function getMedian(array) {
if (array.length == 0) return NaN; // 빈 배열은 에러 반환(NaN은 숫자가 아니라는 의미임)
var center = parseInt(array.length / 2); // 요소 개수의 절반값 구하기
if (array.length % 2 == 1) { // 요소 개수가 홀수면
return array[center]; // 홀수 개수인 배열에서는 중간 요소를 그대로 반환
} else {
return (array[center - 1] + array[center]) / 2.0; // 짝수 개 요소는, 중간 두 수의 평균 반환
}
}
</script>
▶▶ 자바스크립트] 배열의 평균 값, 합계 구하기 함수; JavaScript Sum, Average, Mean Array
tag: html
HTML | CSS | 자바스크립트 JavaScript
<< Home