TIL26.object 문제들

조연정·2020년 9월 21일
0
post-thumbnail

다양한 유형의 객체 문제를 접해보자.

객체 이용해서 총 판매량, 리뷰개수, 좋아요수 구하기

인자로 받은 데이터를 조합해서, 구조를 바꿔서 리턴하자.
objData가 갖고 있는 property는 다음의 3개이다.

  • sumAmount: 총 판매량
  • sumReview: 총 리뷰개수
  • sumLike: 총 좋아요수
function getData(salesArr,reviewArr,likeArr){
  let sumAmount = 0;
  let sumReview = 0;
  let sumLike = 0;
  
  for(i = 0; i < salesArr.length; i++) sumAmount += salesArr[i][1];
  for(i = 0; i < reviewArr.length; i++) sumReview += reviewArr[i][1];
  for(i = 0; i < likeArr.length; i++) sumLike += likeArr[i][1];
 
  let objData = {
    sumAmount,
    sumReview,
    sumLike
  };
  return objData;
}

salesArr = [["20190401", 34], ["20190402", 23], ["20190403", 29]];
reviewArr = [["20190328", 3], ["20190401", 0], ["20190403", 1]];
likeArr = [["20190328", 98], ["20190401", 102], ["20190403", 125]];
getData(salesArr, reviewArr, likeArr);

목표

salesArr, reviewArr, likeArr의 각각의 배열에 판매량, 리뷰수, 좋아요수가 들어있는 1번 인덱스를 반복문을 통해서 각각 모두 더한다. 더한 값을 변수로 할당하여 새로운 객체에 넣어준다.

코드 진행과정

1.최종적으로 구해야할 'sumAmount: 총 판매량, sumReview: 총 리뷰개수,
sumLike: 총 좋아요수'들의 변수를 만들어 초기값 0으로 지정한다.
2.for문을 통해 배열i번만큼 돌리고, 배열 안의 배열에서 1번 인덱스(판매량,리뷰수,좋아요수)를 sumAmount, sumReview, sumLike에 할당해준다.
3. 새로운 객체 let objDate에 위의 셋을 프로퍼티로 넣어주고, 리턴한다.

❓❗️

  • 구하고자하는 값(최종목표)이 무엇인지 파악하고, 초기값을 줘야한다는 것을 배웠다.

object에 유저의 닉네임과 관심사 넣어보기

handleEdit함수는 nickname, interests 라는 두 인자로 받습니다.
interests에는 여러 관심사를 적을 수 있습니다. 그 때 그 관심사의 구분을 콤마(,)를 이용합니다.nickname과 interests가 문제 없이 잘 들어왔다면 유저 정보를 효율적으로 관리하기 위해서 Object에 이 정보를 담아서 관리할 겁니다.
예시) {
nickname: "뚜비",
interests: ["방탈출","테니스","멍 때리기"],
bio: "제 닉네임은 뚜비입니다. 취미는 방탈출,테니스,멍 때리기입니다."
}

const handleEdit = (nickname, interests) => {
  const res = interests.split(",");
  const obj = {
    nickname: nickname,
    interests: res,
    bio: `제 닉네임은 ${nickname}입니다. 취미는 ${interests}입니다.` 
  };  
  return obj;
}

handleEdit("뚜비", "방탈출, 테니스, 멍 때리기")

목표

두 인자를 새로운 object에 넣는 것이 최종 목표.nickname은 그냥 넣어도 되지만, interests의 경우, 취미가 한가지 이상이될 수 있기 때문에 주의해야한다. string인 취미를 각각 쪼개서 배열에 담아주는 것이 핵심포인트다.

코드 진행과정

1.interests의 스트링을 split으로 큰따옴표("") 단위로 잘라준다. 그 값을 변수에 할당.
2. 변수obj에 nickname, interests라는 키에 각각 인자nickname, interests를 키값으로 넣어준다. 바이오도 비슷한 방법으로 넣어주고, return해준다.

profile
Lv.1🌷

0개의 댓글