회고/TIL
2023-05-23 TIL
yhjs1211
2023. 5. 23. 23:08
🔸 고차함수 ( Higher-Ordered Function )
문법을 공부하다보면 머리를 탁 치게되는 계기가 생긴다. 오늘이 바로 그런 날이었다.
아래 코드를 보자
let arr = ['🍌', '🍓', '🍇', '🍓'];
// '🍓' --> '🥝' 로 바꾸자
나는 이 과정을 당연히 for 문을 활용해 해결을 하려 했다. (물론 이것에 대한 문제는 없다)
arr.forEach((v,i)=>{
if(v=='🍓')arr[i]='🥝';
});
forEach 를 통해 일일히 값을 비교하며, 조건에 해당하는 값일 경우 값을 재할당 하는 방법도 있었지만 Map을 활용하니 더 깔끔해졌다.
let newArr = arr.map(v => v === '🍓' ? '🍏' : v);
map의 특성은 기존 배열을 수정하는 것이 아닌, 조건에 해당하는 값을 새로이 매칭시켜 '새로운' 배열로 반환을 한다는 것이다.
✨ 삼항 연산자의 존재유무를 까먹지 말고 써먹도록 하자. 코드가 깔끔해지는 마법