일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- tailwind
- autosize
- map
- SSR
- recoil
- CORS
- 공변성
- async/await
- TS
- useAppDispatch
- Jest
- ESlint
- 리터럴 타입
- dfs
- 호이스팅
- 결정 알고리즘
- Promise
- 태그된 유니온
- CI/CD
- RTK Query
- React
- app router
- 인터섹션
- 투포인터
- Cypress
- 이분 검색
- webpack
- 반공변성
- 무한 스크롤
- 타입 좁히기
- Today
- Total
목록map (6)
짧은코딩
forEach와 map 둘 다 배열을 순회하는 메서드이다. 그렇기에 중간에 break를 사용할 수 없다. 만약 break를 사용하고 싶으면 for문을 쓰면된다. 그렇다면 forEach, map의 차이점은 뭘까? 기본적인 것이지만 너무 간과하고 있던 것 같다..! forEach forEach는 그냥 단순히 배열을 순회한다. const arr = [25, 23, 11, 47, 53, 17, 33]; const temp = arr.forEach((car) => car); console.log(temp); // undefined 따라서 이렇게 코드를 짜면 undefined가 출력된다. map map은 순회하면서 새로운 배열을 만들어서 return한다. const arr = [25, 23, 11, 47, 53, ..
-문제 사이트 https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 function getCombination(arr, score, map, start) { let key = arr.join(""); Array.isArray(map[key]) ? map[key].push(score) : (map[key] = [score]); for (let i = start; i < arr.length; i++) { let temp = [...arr]; tem..
map 함수 리액트에서 map 함수를 써주게되면 key를 줘야한다. ary.map((item, index) => return {item} ); 나는 보통 이렇게 map 함수의 index를 key 값으로 줬다. 하지만 이는 anti-pattern 중 하나이다. 이렇게 index를 key 값으로 주면 안되는 경우는 ary 배열 중 한 값이 지워지거나, 순서가 달라질때, 중간에 값이 추가되는 경우가 대표적이다. 다만 배열의 값이 절대 바뀔 일이 없다면 key 값을 index로 줘도 상관없다. ary.map((item, index) => return {item} ); 따라서 이런 경우에는 위 코드처럼 고유 id를 만들어서 key 값으로 주는 것이 좋다.
map 사용 일정 숫자만큼 화면에 쓰고 싶어서 나는 for문을 생각하고 있었다. 하지만 for문은 사용할 수 없었다. 따라서 map을 이용해서 사용해야 한다. 적용 코드 옵션의 개수에 따라서 "으액"이 출력되도록 하고싶었다. const handleCountSelect = useCallback((e: ChangeEvent) => { const cnt = parseInt(e.target.value); setCount(cnt); }, []); 여기서 e.target.value를 정수형으로 바꾸지 않으면 코드 실행이 되지 않았다. {[...Array(count)].map((n, index) => { return 으액; })} 이렇게 렌더하면 위 사진과 같은 결과를 보여줄 수 있다.
모든 이나그램 찾기 해결법 이 문제는 해쉬, 투포인터를 활용해서 풀어야 하는 문제이다. 처음에 생각한 풀이와 답의 로직이 한 70% 정도는 유사했다. 하지만 해쉬의 자료구조인 Map를 비교할 때가 문제였다. 그래서 처음에는 배열로 바꿔서 비교했지만 쉽지 않았고 해결하지 못했다. 강사님의 코드를 보면 두 Map 중 하나를 for문으로 돌리고 나머지 Map를 맞춰보는 형식으로 풀었다. Map은 valuse 값이 0이 된다고 해서 삭제되는 것이 아니기에 만약 value가 0이면 delete로 삭제해줘야 한다. 코드