[JavaScript] 빈 객체(object)에 key : value 추가

2022. 9. 23. 10:58CodingTest/JavaScript Q

문제)  getData 함수를 구현해주세요!

  • getData 함수는 세 개의 배열을 인자로 받습니다.
    • salesArr : 날짜별 판매량    >>>    ex) [["20190401", 34], ["20190402", 23], ["20190403", 29]]
    • reviewArr : 날짜별 리뷰수  >>>    ex) [["20190328", 3], ["20190401", 0], ["20190403", 1]]
    • likeArr : 날짜별 좋아요수    >>>    ex) [["20190328", 98], ["20190401", 102], ["20190403", 125]]

 

  • 다음 요구사항을 충족하는 객체를 만들어서 return 해주세요.
  • 리턴되는 객체는 아래와 같이 3개의 property를 가집니다.
    • sumAmount : 총 판매량
    • sumReview : 총 리뷰개수
    • sumLike : 총 좋아요수

첫번째, 매개변수 value 값이 들어오면 getData1이라는 함수가 실행된다 
두번째, getDate1에서 먼저 sum이라는 변수를 선언합니다.
그리고 매개변수 t에 값이 들어오면 index[i][1]의 모두 더한값을 sum변수에 반환합니다.
세번째, 반환된 값을 변수 sol이라는 객체에 추가 합니다.
function getData(salesArr, reviewArr, likeArr) {
  let sol = {};
  sol.sumAmount = getData1(salesArr);
  sol.sumReview = getData1(reviewArr);
  sol.sumLike = getData1(likeArr);
  return sol;
}
function getData1(t) {
  let sum = 0;
  for (let i = 0; i < t.length; i++) {
    sum += t[i][1]
  }
  return sum;
}
console.log(getData(
[["20190401", 34], ["20190402", 23], ["20190403", 29]], 
[["20190328", 3], ["20190401", 0], ["20190403", 1]], 
[["20190328", 98], ["20190401", 102], ["20190403", 125]]
));
문제를 풀때 먼저 해야될 부분은 어떻게 배열안에서 원하는 값을 가져올지를 정해야됩니다. 
function getData1(t) {
  let sum = 0;
  for (let i = 0; i < t.length; i++) {
    sum += t[i][1]
  }
  return sum;
}
다음 배열에 추가할 key:value을 생성합니다.
function getData(salesArr, reviewArr, likeArr) {
  let sol = {};
  sol.sumAmount = getData1(salesArr);
  sol.sumReview = getData1(reviewArr);
  sol.sumLike = getData1(likeArr);
  return sol;
}