⚡ 개념 정리하기 !
콤프 회원 한 명의 정보를 저장하는 변수를 만들려면 어떻게 해야할까요?
입력되는 정보는 이름, 나이, 학과, 그리고 1학년인지의 여부입니다.
boolean, integer, string 을 모두 사용하세요!
object 개념을 활용하세요! (C로 치면 struct나 array, Python으로 치면 dict나 list 등)
const user={
name: "duhoe", //이름
age: 23, //나이
department: "computer science", //학과
isFreshman: false, //1학년 여부
}
1번에서 만든 변수로 여러 사람의 정보를 담으려면 어떻게 해야할까요?
object와 array의 개념을 활용하세요!
Hint❗ 콤프 사람들에게 0부터 15까지 한명씩 번호를 붙인다고 가정해봅시다!
ㄴ 코드를 작성하지 않고 모형도를 그리기만 해도 됩니다!
const user0={
name: "duhoe", //이름
age: 23, //나이
department: "computer science", //학과
isFreshman: false, //1학년 여부
};
const user1={
...
};
const user2={
...
};
const user3={
...
};
.
.
.
const user15={
};
const comp=[user0, user1, ... ,user15];
또한 아래의 코드 또한 가능할 것으로 보인다.
const comp = [
{ name: "신예성", age: 21, department: "~" ,isFreshman: true },
{ name: "..." , ... },
{ name: "..." , ... },
...
];
2번에서 만든 변수를 반환하는 함수를 작성한다면, 어떻게 작성해볼 수 있을까요?
ㄴ 3번은 정답이 없습니다! 고민하면서 실력이 늘 거에요 ㅎㅎ
comp[]
에서 n번째 회원(0≤n≤15)을 리턴하는 함수는 다음과 같이 나타낼 수 있었다.
const comp=[user0, user1, ... user15];
function findUsers(userNumber, comp){
return comp[userNumner];
}
function findUsers(userNumber){
const comp = [
{ name: "신예성", age: 21, department: "~" ,isFreshman: true },
{ name: "..." , ... },
{ name: "..." , ... },
...
];
return comp[userNumber];
}
const user = findUsers(userNumber);
⚡ 토론해보아요 !
두 수가 주어졌을 때, 두 값 중 큰 값, 작은 값, 그리고 일치 여부를 각각 반환하려면 어떻게 해야할까요? (단, 하나의 객체 내에서 모두 처리하도록 해요)
Hint❗ 노마드 코더 강의 중 calculator 변수 선언 내용을 참고하세요!
다음과 같은 객체 calculator을 생각해보았다.
const calculator={
bigger:function(a,b){
if(a>b){
return a; //a가 더 크다면 a 반환
}
else if(a<b){
return b //b가 더 크다면 b 반환
}
return true; //같다면 ture 반환
},
smaller:function(a,b){
if(a<b){
return a; //a가 더 작다면 a반환
}
else if(a>b){
return b; //b가 더 작다면 b반환
}
return true; //같다면 true 반환
},
};
또한 하나의 객체에 큰 값, 작은 값, 일치 여부를 모두 담아 반환하는 함수도 생각해 보았다.
function compare(num1, num2) {
const compareresult = {};
if (num1 > num2) {
compareresult.greater = num1;
compareresult.smaller = num2;
compareresult.equal = false;
}
else if (num1 < num2) {
compareresult.greater = num2;
compareresult.smaller = num1;
compareresult.equal = false;
}
else {
compareresult.equal = true;
}
return compareresult;
}
값이 두 개가 아니라 세 개가 주어졌다면 어떻게 해결해야 할까요?
ㄴ 이 문제는 웹 개발 보다는 논리적 사고를 중점으로 보는 문제에요!
조원들과 상의해보세요😃
세 개의 값이 배열 array에 저장되어 있다고 했을 때, 다음과 같이 반복문과 조건문을 사용하여 최대값(또는 최소값)을 구해낼 수 있다. 배열에 세 개보다 더 많은 값이 들어있다고 해도 calculator객체의 코드를 수정할 필요가 없다는 점이 장점이다.
배열명.length
는 배열의 길이를 반환하기 때문에 배열 관련 상황에서 자주 사용된다.
const calculator={
bigger:function(array){
let max=array[0];
for(let i=0;i<array.length;i++){
if(array[i]>max){max=array[i];} //기존 최대값보다 더 큰 값이 나타나면 값을 갱신함.
}
return max;
},
};
const array=[1,4,7];
console.log(calculator.bigger(array));