카테고리 없음

JavaScript* 배열고차함수 활용

해보구 2024. 3. 29. 18:51
반응형

사과바구니를 가져왔다

 

const appleBasket = [{
  color: 'green',
  sweet: 13
},
{
  color: 'red',
  sweet: 14
},
{
  color: 'red',
  sweet: 11
},
{
  color: 'green',
  sweet: 6
},
{
  color: 'green',
  sweet: 7
},
{
  color: 'green',
  sweet: 9
},
];

 

문제. 

 

/*


사과중에 녹색이면서 당도가 9인 사과만 선별하여 // filtering 1
"이 사과는 xx색이며 당도는 xxx입니다" // mapping 2
라는 문자열이 들어있는 배열을 만들어tj
콘솔에 반복출력해주세요. // forEach
 
 
*/

 

const filteredApples 
= appleBasket.filter(apple => 
  apple.color === 'green' && apple.sweet >= 9);

// console.log(filteredApples);

const mappedApples = filteredApples.map(apple => {
  const convertedColor = apple.color === 'green' ? '초록' : '빨강';
  return `이 사과는 ${convertedColor}색이며 당도는 ${apple.sweet}입니다.`;
});

console.log(mappedApples);

mappedApples.forEach(apple => console.log(apple));

 

이렇게 구현 할 수 있다. 강사님 말로는 요즘은 함수형 프로그래밍이 대세라던데

 

// 이걸 다 합치면 // 함수형 프로그래밍 //

appleBasket
  .filter(apple => apple.color === 'green' && apple.sweet >= 9)
  .map(apple => {
    const covertedColor = apple.color === 'green' ? '초록' : '빨강';
    return `이 사과는 ${covertedColor}색이며 당도는 ${apple.sweet}입니다.`;
  })
  .forEach(apple => console.log(apple));

이렇게 깔끔정리가 가능하다고 한다.

 

반응형