스파르타 (React_6기) 본캠프

2024. 07. 26. (걷기반 실습2)

cha123hein 2024. 7. 26. 19:46

<반복문 만들기>

* 문자열(str)과 숫자(n)을 매개변수로 받아 str을 n번 콘솔에 출력하는 함수인 repeatWord 함수를 완성해보세요.*

function repeatWord(str, n) {
  ...
}

// 함수 실행
....

*조건

  1. repeatWord 함수의 내용을 채워주세요.
  2. 인자 “hello”, 5를 넣어 repeatWord 함수를 실행시켜주세요.

-> 처음에는 

1. 반복문을 사용하여 n까지의 숫자를 불러낸다.

2. 그 숫자들을 일일히 문자열로 변환을 시킨다.

에서 숫자를 어떻게 일일히 다 문자열로 변환을 해야하는지 헷갈렸었는데 답은 의외로 간단하게 console.log(str)로 결과값을 지정해놓으면 어떤 숫자가 오든 str문자열로 출력되었었다.

<해답>
function repeatWord(str, n) {
for (i = 0; i < n; i++){
console.log(str)
}
};
console.log(repeatWord("hello", 5));

 

<함수 응용하기>

* getStudents 함수를 완성하여 members 객체에서 roletutor인 객체들의 name을 콘솔에 찍어보세요. *

const members = [
{ name: "최원장", role: "tutor", },
{ name: "윤창식", role: "tutor", },
{ name: "김병연", role: "tutor", },
{ name: "박가현", role: "tutor", },
{ name: "김멍멍", role: "student", },
{ name: "이야옹", role: "student", },
];
function getStudents()
{ // hint: 배열 안의 모든 객체를 한 번 반복한다. (반복문)
// hint: 반복문 안에서 role이 tutor인 객체의 name을 콘솔에 출력한다 (조건문) ... }
// 함수 실행 ...

위의 문제에서는 힌트의 내용을 따르면 되었었는데,

우선 1. 배열의 객체를 반복하기 위해 반복문을 사용한다.

function getStudents(){
for(let i=0; i<members.length; i++){
}

-> i를 배열 0부터 배열의 길이(n)까지 객체를 반복한다. 

* 배열은 0부터 숫자를 매기기 때문에 i<members. length 이전까지만 지정하면 된다.

 

이제 반복문 안에서 role이 "tutor"인 객체를 걸러내어 name을 콘솔에 출력해야하는데 처음에는 members.role을 적은 것 만으로 모든 role객체가 선택이 된 줄 알았으나, 일부 객체를 지정하기 위해서는 members[객체번호(0부터 시작한다.)].role로 적용을 해야한다는 것을 알았다.

ex) memeber[1].role => 윤창식 튜터님의 객체의 role을 선택하는 것이다.

위의 사항에서는 전체를 선택해야 하므로, 객체번호에는 i가 들어간다.

<해답>
function getStudents() {
for(let i = 0; i<members.length; i++){
if (members[i].role === "tutor"){
console.log(members[i].name);
}
}
}
getStudents();

 

위의 함수는 forEach 메소드를 사용하면 더 간단하게 표현할 수 있다한다.

-----------------------------------------

<forEach를 사용한 풀이 작성 예정>