profile Archive Of Records keep studying

JavaScript 배열 (2) 예제

» JavaScript

(1) 좋아하는 과일 4개를 배열로 만들고 반복문을 이용하여 알림창을 순차적으로 출력

const fruit = ["수박", "딸기", "복숭아", "사과"];

// 방법 1
for (let i = 0; i < fruit.length; i++) {
	alert(fruit[i]);
}

// 방법 2
let i = 0;
while (i < fruit.length) {
	alert(fruit[i]);
    	i++;
}

// 방법 3
for (let i in fruit) {
	alert(fruit[i]);
}

result


(2) 배열 요소가 5개인 배열을 만들고 배열의 인덱스와 그에 맞는 배열 요소를 문서에 출력

// 방법 1
const five = [5, 10, 15, 20, 25];

let i = 0;
while (i < five.length) {
	document.write('<h2>배열의 인덱스 ' + i + '의 배열 요소는 ' + five[i] + '입니다</h2>');
	i++;
}

// 방법 2
for (let i = 0; i < five.length; i++) {
	document.write('<h2>배열의 인덱스 ' + i + '의 배열 요소는 ' + five[i] + '입니다</h2>');
}

// 방법 3
for (let i in five) {
	document.write('<h2>배열의 인덱스 ' + i + '의 배열 요소는 ' + five[i] + '입니다</h2>');
}

result


(3) 4명의 점수를 받아 총점과 평균을 구하고 출력

// 방법 1
const num = new Array(4); // 배열 요소(데이터) 값이 4개인 배열 생성
let i = 0; // 인덱스
let sum = 0; // 합계

while(i < num.length) {
    let score = prompt('점수를 입력해 주세요.');
    score = Number(score); // 입력 받은 숫자형 문자열을 숫자로 리턴하여 재대입 -> prompt에서 입력 받은 값이 숫자형 문자열이라 숫자열로 변경해야 됨
    num[i] = score; // 각각의 배열 요소에 대입
    sum += num[i];
    i++;
}

document.write("<h2>총점은 " + sum + "점이고, 평균은 " + (sum / num.length) + "입니다.</h2>");


// 방법 2 -> n 명의 점수를 받아 총점과 평균을 구하는 프로그램 방식
function score(n) {
	const studentScore = new Array(n);
	let sum = 0;

	for (let i = 0; i < n; i++) {
		studentScore[i] = Number(prompt("점수를 입력해 주세요."));
		sum += studentScore[i];
	}

	const average = sum / n;

	document.write("입력한 점수의 총점은 " + sum + "이고, 평균은 " + average + "입니다.");
}

score(4);

result


(4) 제시된 점수 중 제일 높은 점수, 제일 낮은 점수, 평균 점수를 각각 출력 (평균 점수는 소수점 이하 반올림하여 나타내기) ★★★★★

  • 제시된 점수: 60, 66, 95, 80, 100, 92
// 방법 1
const score = [60, 66, 95, 80, 100, 92];

// 제일 높은 점수 출력
let i = 0;
let max = 0;

while (i < score.length) {
    switch (max < score[i]) {
        case true: // 위의 조건이 참인 경우
            max = score[i]; // 변수 max에 재대입
            // 0 < 60 -> true -> max = 60;
            // 60 < 66 -> true -> max = 66;
            // 66 < 95 -> true -> max = 95;
            // 95 < 80 -> false -> max = 95;
            // 95 < 100 -> true -> max = 100;
            // 100 < 92 -> false -> max = 100;
            break;
    }
    i++;
}

document.write("<h2>제일 높은 점수는 " + max + "점입니다.</h2>");



// 제일 낮은 점수 출력
let a = 0;
let min = 100;

while (a < score.length) {
    if (min > score[a]) { // 참인 경우
        min = score[a];
        // 100 > 60 -> true -> min = 60; (a = 0일 때)
        // 60 > 66 -> false -> min = 60; (a = 1일 때)
        // 60 > 95 -> false -> min = 60; (a = 2일 때)
        // 60 > 80 -> false -> min = 60; (a = 3일 때)
        // 60 > 100 -> false -> min = 60; (a = 4일 때)
        // 60 > 92 -> false -> min = 60; (a = 5일 때)
    }
    a++;
}

document.write("<h2>제일 낮은 점수는 " + min + "점입니다.</h2>");

// 평균 점수 출력
let sum = 0;
let aver;

for (let x = 0; x < score.length; x++) {
    score[x] = Number(score[x]);
    sum += score[x];
}

aver = Math.round(sum / score.length); // Math.round() => 소수점 이하 반올림

document.write("<h2>평균 점수는 약 " + aver + "점입니다.</h2>");

result

// 방법 2
const score = [60, 66, 95, 80, 100, 92];
let sum = 0;
let max = 0;
let min = 100;
let average;

for (let i in score) {
    sum += score[i];
    switch (max < score[i]) {
        case true:
	    max = score[i];
	    break;
    }
    switch (min > score[i]) {
        case true:
	    min = score[i];
	    break;
    }
}

average = Math.round(sum / score.length);

document.write("<h2>제시된 점수의 최저점은 " + min + "점이고, 최고점은 " + max + "점이며 평균은 약 " + average + "점입니다.</h2>");

result