Today, What I learned?
์ง๋ ๊ธ์ด ๊ธธ์ด์ ธ์ ์ด์ด์ ์์ฑํ๋ ํ๋ก์ ํธ ๋ฆฌ์คํธ ํํฐ๋ง ์ฌ์ ~
์ค๋์ 3์ค ์ค์ฒฉ ๊ฐ์ฒด์ ๊ฐ์ ํตํด ํ๋ก์ ํธ๋ฅผ ํํฐ๋งํ๋ ๊ณผ์ ์ ๋ํด ๊ธฐ๋กํ๋ค.
์ฌํ๊ป.. ์ค์ฒฉ ๊ฐ์ฒด๊น์ง ๊ฒช์ด๋ดค์ง๋ง 3์ค์ผ๋ก ์ค์ฒฉ๋.. ๊ทธ๋ฌ๋๊น ์ค์ฒฉ์ ์ค์ฒฉ์ ์ค์ฒฉ ๊ฐ์ฒด๋ ์ฒ์์ด๋ผ ์ฝ์ง์ ์ข ํ๋ค.
๊ทธ๋๋ Promise ๋ฐฐ์ด๋ณด๋จ ๋นจ๋ฆฌ ํด๊ฒฐํจ ใ
์ผ๋จ ์ต์ข ๋ณธ์ ์ด๋ ๋ค. ๊ธฐ์ ๋ง์์ผ๋ก gif๋ฅผ ๋ง๋ค์๋ค ^^..
์ด ๋ ์์ 3 ์ค์ฒฉ ๊ฐ์ฒด
์ง์ํ, ์ฐธ์ฌํ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ ํ๋ก์ ํธ ์์ด๋๋ก ๋ฌธ์(๊ฐ์ฒด)๊ฐ ๋ง๋ค์ด์ง๊ณ , ๊ทธ ์ ๊ฐ์ฒด์ recruited
๋ผ๋ ํค๊ฐ์ ํตํด ํ๋ณ๋๋ค.
์๋์ฒ๋ผ true/false
์ ๋ฐ๋ผ ๊ฐ๋ฆฐ๋ค.
appliedProjects๋ผ๋ ๊ฐ์ฒด ์์ ๊ฐ ๋ฌธ์ ์์ด๋๋ผ๋ ๊ฐ์ฒด ์์ recruited....
๊ฒฐ๊ตญ ์ ๊ฐ์ฅ ์์ชฝ ๊ฐ์ฒด์ true, false ๊ฐ์ ํ๋ณํด์ ๋ฌธ์ id๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋ค์ด ๋ฐํํด์ผ ํ๋.. ๊ทธ๋ฐ ๊ณผ์ ์ธ ๊ฒ์ด๋ค.
Object.entries()
์ค์ฒฉ๊ฐ์ฒด๊น์ง๋ ๋ฐ๋ณต๋ฌธ์ ๋๋ ค๋ดค๊ธฐ ๋๋ฌธ์ Object.entries()
๋ฅผ ์ด์ฉํด์ ์ ๊ทผํ ์ ์์๋ค.
const getFilteredPidList = (pidList: PidListProps, category: string) => {
const filteredPidList: string[] = [];
for (const [key, value] of Object.entries(pidList.appliedProjects)) {
console.log(value);
...
}
return filteredPidList;
};
๋ฌธ์ ๋ ์ฌ๊ธฐ์ value
๊ฐ ๋ ๊ฐ์ฒด๋ผ์ ์ ๋
์์ ํตํด ํ๋ณ์ ํด์ผ ํ๋๋ฐ!.. value๋ string
์ด๋ผ๊ณ ํ์
์คํฌ๋ฆฝํธ๊ฐ ๊ณ์ ์๋ ค์คฌ๋ค (ํํ)
value
๋ฅผ ์ฝ์๋ก ์ฐ์ผ๋ฉด ๊ฐ์ฒด์ธ๋ฐ ์ฝ๋ ์์์๋ string ์ด๊ฒ ๋ค....
์ง๊ธ ๊ธ์ ์์ฑํ๋ค mdn ๋ฌธ์๋ฅผ ๋ณด๋ ๋น์ฐํ๋ค. ๋ฌธ์์์ฑ [key, value] ์์ ๋ฐํํ๋๊น value๋ ์ผ๋จ ๋ฌธ์์ด๋ก ์ธ์๋๊ฒ ์ง..
์ต์ข ํด๊ฒฐ
๊ทธ๋ผ value
๋ฅผ ๊ฐ์ฒด๋ก ๋ง๋ค์ด์ผ์ง ๋ญ.. Object()
๋ก ์๋ก์ด ๊ฐ์ฒด ์์ value๋ฅผ ๋ฃ์ด์ฃผ์๋๋ recruited
๊ฐ์ ์ ํ๋ณํ ์ ์์๋ค. ์ต์ข
์ ์ผ๋ก ์์ฑ๋ ํจ์๋ ์ด๋ ๋ค.
// ์ง์ํ ํ๋ก์ ํธ์ด๊ฑฐ๋ ์ฐธ์ฌํ ํ๋ก์ ํธ์ผ ๊ฒฝ์ฐ appliedProjects ๋ฌธ์์์ pid ํค๊ฐ์ ํํฐ๋ง ํด์ ๊บผ๋ด๊ธฐ ์ํ ํจ์
const getFilteredPidList = (pidList: PidListProps, category: string) => {
const filteredPidList: string[] = [];
for (const [key, value] of Object.entries(pidList.appliedProjects)) {
if (category === 'appliedProjects') {
Object(value).recruited === false ? filteredPidList.push(key) : null;
} else {
Object(value).recruited === true ? filteredPidList.push(key) : null;
}
}
return filteredPidList;
};
์ด ํจ์๋ฅผ ํตํด ๋ค์ ํ๋ก์ ํธ ๋ฌธ์ ์์ด๋ ๋ฐฐ์ด์ ์ป์ ์ ์์๊ณ 1๋ฒ ๊ธ์์ ๋ง๋ค์ด๋ ํจ์๋ก ๊ฐ์ ์ป์ด์ฌ ์ ์์๋ค!~
๋ค์ ๋ ์๋กญ๊ฒ ๋ฐฐ์ด ๊ฒ์ด ๋ง์ ๊ธฐ๋ฅ์ด์๋ค.. ๐
์ฐธ๊ณ
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
'๐ Studying > ๐ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ง์ดํ์ด์ง ๋ฒ๊ทธ, ์ ๋ณด ๋ณ๊ฒฝ ํ์ธ ์ ํจ์ฑ ๊ฒ์ฌ ๐ค (0) | 2023.02.21 |
---|---|
[React] React.lazy ์ Suspense (0) | 2023.02.20 |
[React] ํ๋ก์ ํธ ๋ฆฌ์คํธ ํํฐ๋ง ์ฌ์ (1) - Promise.all (0) | 2023.02.16 |
[React] ์ปค์คํ ๋ชจ๋ฌ ๋ง๋ค๊ธฐ (0) | 2023.02.15 |
[React] input type = 'radio', 'checkbox'์ ์ํ๊ด๋ฆฌ (0) | 2023.02.14 |
Comment