자바스크립트, 입문!

자바스크립트, 입문!

핵심만 쏙쏙, 바로 보고 실습하는 JavaScript!

13 배열 실습, 홍팍이의 주문 목록

배열 실습

미션

배열의 개념과 그 사용법을 실습을 통해 익히시오.
홍팍-자바스크립트-배열-실습-미션

00:45 기본 파일 생성

arrays.html

  1. <!-- HTML 관련 구글링 -->
  2. <!-- 👉 site:developer.mozilla.org {연관_키워드} -->
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title>Document</title>
  9. <!-- 외부 파일 연결 -->
  10. <link rel="stylesheet" href="arrays.css">
  11. <Script defer src="arrays.js"></Script>
  12. </head>
  13. <body>
  14. <h1>배열, 여러 변수를 하나로!</h1>
  15. <h2>1. 배열 만들기</h2>
  16. <pre>
  17. 자취생 홍팍, 그는 오늘도 배달을 시킨다..
  18. 아침은 샌드위치, 점심은 초밥, 저녁은 치킨을 먹었다.
  19. 가격은 차례로 11000원, 16000원, 19000원이었다.
  20. </pre>
  21. <h2>2. 배열 읽고 쓰기</h2>
  22. <pre>
  23. 만만치 않은 하루 식비..!
  24. 아, 그러고보니 배달비도 모두 2000원씩 있었다.
  25. </pre>
  26. <h2>3. 배열 요소 추가하기</h2>
  27. <pre>
  28. 그러고 보니 방금, 또 시켰다. 궁극의 야식 떡튀순을 말이다.
  29. 떡볶이(3000원), 튀김(3000원), 순대(4000원)..!
  30. 이벤트로 배달비는 없었다.
  31. </pre>
  32. <h2>4. 배열과 반복문</h2>
  33. <pre>
  34. 그럼, 오늘 식비로 모두 얼마를 쓴거지?
  35. </pre>
  36. <h2>5. 배열과 함수호출</h2>
  37. <pre>
  38. 그렇다. 홍팍이는 먹는거에 진심인 편이다.
  39. = 주문음식 목록 =
  40. 샌드위치: 13000 원
  41. 초밥: 18000 원
  42. 치킨: 21000 원
  43. 떡볶이: 3000 원
  44. 튀김: 3000 원
  45. 순대: 4000 원
  46. ==============
  47. 총합: 62000 원
  48. </pre>
  49. </body>
  50. </html>

arrays.css

  1. /*
  2. * CSS 관련 구글링
  3. * 👉 site:developer.mozilla.org {연관_키워드}
  4. */
  5. body {
  6. font-family: Arial, Helvetica, sans-serif;
  7. }
  8. pre {
  9. background-color: #efefef;
  10. padding-top: 1rem;
  11. margin: 0;
  12. }

arrays.js

  1. // JavaScript 관련 구글링
  2. // 👉 site:developer.mozilla.org {연관_키워드}
  3. 'use strict';

01:33 배열 만들기

  1. // 1. 배열이란?
  2. // - 여러 변수를 하나로 묶은 것
  3. // - 배열의 각 요소는 인덱스로 구분 됨
  4. // - 요소의 타입은 모두 같아야 좋음
  5. // 배열 생성 예
  6. const menus = ["샌드위치", "초밥", "치킨"];
  7. const prices = [11000, 16000, 19000];
  8. console.log(menus);
  9. console.log(prices);

04:52 배열 읽고 쓰기

인덱스 사용법

  1. // 2. 배열 다루기
  2. // - 인덱스는 기본적으로 0부터 시작
  3. // - 인덱스를 통해 배열의 각 요소로 접근 가능
  4. // 배열 요소 가져오기: 식비 총합 계산
  5. let sum = prices[0] + prices[1] + prices[2];
  6. console.log(`총합: ${sum} 원`);
  7. // 배열 요소 변경하기: 배달비 추가
  8. prices[0] += 2000;
  9. prices[1] += 2000;
  10. prices[2] += 2000;
  11. console.log(prices);
  12. // 최종 총합 계산
  13. sum = prices[0] + prices[1] + prices[2];
  14. console.log(`총합(배달비 포함): ${sum} 원`);

08:07 배열 요소 추가하기

인덱스 끝자리에 넣기 vs Array.push() 사용하기

  1. // 3. 배열 요소 추가하기
  2. // - 끝자리 인덱스로 요소를 추가할 수 있음
  3. // - push() 함수: 알아서 끝자리에 추가하므로 편리함
  4. // 인덱스로 요소 추가
  5. // menus[3] = "떡볶이";
  6. // prices[3] = 3000;
  7. menus.push("떡볶이");
  8. prices.push(3000);
  9. // menus[4] = "튀김";
  10. // prices[4] = 3000;
  11. menus.push("튀김");
  12. prices.push(3000);
  13. // menus[5] = "순대";
  14. // prices[5] = 4000;
  15. menus.push("순대");
  16. prices.push(4000);
  17. console.log(menus);
  18. console.log(prices);

11:09 배열 순회하기

배열의 총합 계산

  1. // 4. 배열과 반복문
  2. // - 배열은 반복문과 함께 자주 사용 됨
  3. // - 배열을 차례로 순회하는 경우가 많음
  4. // - for 문, for..of, forEach 등과 함께 활용
  5. // 배열을 순회하며, 총합 구하기(홍팍이의 식비 총합 계산)
  6. sum = 0;
  7. for (let i = 0; i < prices.length; i += 1) {
  8. sum += prices[i];
  9. }
  10. console.log(`총합(배달비 + 야식): ${sum} 원`);

14:54 배열과 함수호출

파라미터로 배열 전달, call by reference

  1. // 5. 배열과 함수호출
  2. // - 배열도 함수의 파라미터로 전달될 수 있음
  3. // - 배열이 파라미터로 전달되는 경우, 원본이 전달됨(call by reference)
  4. // - 일반변수가 파라미터로 전달되는 경우, 사본이 복사됨(call by value)
  5. // 배열을 입력값으로한 함수 호출(주문 영수증 출력하기)
  6. function printReceipt(menuArr, priceArr) {
  7. // 주문 목록 출력
  8. console.log("= 주문음식 목록 =");
  9. for (let i = 0; i < menuArr.length; i += 1) {
  10. console.log(`${menuArr[i]}: ${priceArr[i]} 원`);
  11. }
  12. // 총합 출력
  13. console.log("==============");
  14. const sum = totalPrice(priceArr);
  15. console.log(`총합: ${sum} 원`);
  16. }
  17. function totalPrice(arr) {
  18. let total = 0;
  19. for (let i = 0; i < arr.length; i += 1) {
  20. total += arr[i];
  21. }
  22. return total;
  23. }
  24. printReceipt(menus, prices);

구글링 훈련하기 🔥

  • 자바스크립트 배열 생성
  • 자바스크립트 배열과 인덱스
  • 자바스크립트 배열 순회
  • 자바스크립트 for of 사용법
  • 자바스브립트 forEach 사용법
  • 자바스크립트 배열 총합 계산
  • 자바스크립트 call by reference