728x90
300x250
배열에서 최대값 또는 최소값을 찾는 내장 함수는 없지만
배열 정렬 후 인덱스 값을 호출해서 가장 높은값과 가장 낮은 값을 얻을 수 있다.
최소값 찾기
<p>The lowest number is <span id="demo"></span>.</p>
<script>
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
document.getElementById("demo").innerHTML = points[0];
</script>
결과
The lowest number is 1.
최대값 찾기
<p>The highest number is <span id="demo"></span>.</p>
<script>
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
document.getElementById("demo").innerHTML = points[points.length - 1];
</script>
결과
The highest number is 100.
내림차순을 이용할 수도 있다.
<p>The highest number is <span id="demo"></span>.</p>
<script>
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
document.getElementById("demo").innerHTML = points[0]; //The highest number is 100.
</script>
그러나 위의 방법은 단지 가장 높은(낮은) 값을 찾기 위해서 전체 배열을 정렬해야 하기 때문에 비효율 적이다.
배열에서 Math.min() 사용하기
배열에서 가장 낮은 숫자 찾기
const points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = myArrayMin(points);
function myArrayMin(arr) {
return Math.min.apply(null, arr); //1
}
배열에서 Math.max() 사용하기
배열에서 가장 높은 숫자 찾기
const points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = myArrayMax(points);
function myArrayMax(arr) {
return Math.max.apply(null, arr); //100
}
가장 빠른 해결 책으로 직적 함수를 만들어 사용할 수 있다.
아래 함수는 각 값을 발견된 가장 높은 값과 비교하는 배열을 반복한다.
최대값 찾기
<p>The highest number is <span id="demo"></span>.</p>
<script>
const points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = myArrayMax(points);
function myArrayMax(arr) {
let len = arr.length;
let max = -Infinity;
while (len--) {
if (arr[len] > max) {
max = arr[len];
}
}
return max;
}
</script>
실행결과
The highest number is 100.
최소값 찾기
<p>The lowest number is <span id="demo"></span>.</p>
<script>
const points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = myArrayMin(points);
function myArrayMin(arr) {
let len = arr.length;
let min = Infinity;
while (len--) {
if (arr[len] < min) {
min = arr[len];
}
}
return min;
}
</script>
실행결과
The lowest number is 1.
728x90
반응형
'javaScript > JS Tutorial' 카테고리의 다른 글
[javaScript]forEach() 배열반복 (0) | 2022.11.10 |
---|---|
[javaScript]객체 배열 정렬하기 (0) | 2022.11.09 |
[javaScript] 피셔 예이츠 셔플 - 무작위 순서로 배열 정렬 (1) | 2022.11.07 |
[javaScript]비교함수 숫자정렬 오름차순, 내림차순 (0) | 2022.11.06 |
[javaScript]배열의 일부를 잘라서 새 배열 만들기 slice() (0) | 2022.11.04 |
댓글