210728 ๊ฐœ๋ฐœ๊ธฐ๋ก

2021. 7. 28. 20:13ใ†๐Ÿ“” TIL

 

๐Ÿˆ  map() ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฒช์€ ์‹œํ–‰์ฐฉ์˜ค

- result ๋Š” ๋ฐฐ์—ด ๋‚ด๋ถ€์— ์—ฌ๋Ÿฌ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•œ๋‹ค. [ {}, {}, {}, ... ]

- result ๋‚ด๋ถ€์˜ ๊ฐœ๋ณ„ ๊ฐ์ฒด์— 'sex/age' ๋ผ๋Š” key๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ result ๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.

- ์•„๋ž˜์ฒ˜๋Ÿผ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์ง€๋งŒ, ๊ณ„์† ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

result.map(res => {
    {
    ...res,
	'sex/age' : res.age + res.sex_cd
    }
})

 

์›์ธ: ๋‚ด๊ฐ€ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์€ 'Sex/age' ๋ผ๋Š” key ๋ฅผ ์ถ”๊ฐ€ํ•œ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์–ป๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. 

์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์–ป์œผ๋ ค๋ฉด, ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ , ์ƒˆ๋กœ์šด ๊ฐ’(๊ฐ์ฒด)์„ ํ• ๋‹นํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

์ฆ‰, return ์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค!

 

 

๐Ÿ”ฑ  ๊ณ ์นœ ์ฝ”๋“œ

const _result = result.map(res => {
    return (
        {
            ...res,
            "sex/age": res.sex_cd + '/' + res.age
        }
    )
})

์ƒˆ๋กœ์šด ๋ณ€์ˆ˜ _result ๋ฅผ ์„ ์–ธ ํ›„, map() ํ•จ์ˆ˜ ๋‚ด๋ถ€์— return ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ–ˆ๋‹ค. 

 

์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฒช์€ ์ด์œ ๋ฅผ ๋Œ์ด์ผœ๋ณด๋ฉด, 1) ์šฐ์„  spread ์—ฐ์‚ฐ์ž๊ฐ€ ์ต์ˆ™ํ•˜์ง€ ์•Š์•„ ๋‚ด ์ฝ”๋“œ์— ์ž์‹ ์ด ์—†์—ˆ๋‹ค. (์ ์–ด๋„ spread ์—ฐ์‚ฐ์ž์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ์€ ์•„๋‹ˆ์—ˆ์œผ๋‹ˆ).   2) ์ฝœ๋ฐฑํ•จ์ˆ˜ map() ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ์ € iterable ํ•œ ํ•จ์ˆ˜ ์ •๋„๋กœ ๋ง‰์—ฐํ•˜๊ฒŒ๋งŒ ์•Œ๊ณ  ์žˆ์–ด์„œ return ์„ ๋นจ๋ฆฌ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. 

MDN ์—์„œ map() ์˜ ์ •์˜๋ฅผ ์ฐพ์•„๋ดค๋‹ค.

map() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ ๊ฐ๊ฐ์— ๋Œ€ํ•˜์—ฌ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰ ๋ฐฐ์—ด ๋‚ด ๋ชจ๋“  ์š”์†Œ์—, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“  ํ•จ์ˆ˜๋ฅผ ์ ์šฉ/ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜(return) ํ•œ๋‹ค.  ์ด ์ ์„ ๊ฐ„๊ณผํ•˜์ง€ ๋ง์ž. 

 


HTTP Status code

๋‹ค๋ฅธ ์—ฐ๊ตฌ์›๋ถ„์ด api ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ, put์„ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ, post ๊ฐ€ ๋” ์ ์ ˆํ•œ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ๋ง์”€๋“œ๋ ธ๋‹ค. 

post ๋กœ ์ˆ˜์ • ํ›„ return ๋œ status code ๋ฅผ ํ™•์ธํ–ˆ๋Š”๋ฐ 200 ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๊ฐ’์ด ๋“ค์–ด์™€, ๋œปํ•˜์ง€ ์•Š์€ ๋ถ„๊ธฐ๋ฅผ ํƒ”๋‹ค๊ณ  ํ•œ๋‹ค. 

์—ฅ ์™œ 200 ์ด ์•„๋‹ˆ์ง€๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์‚ดํŽด๋ณด๋‹ˆ 201์ด ์ฐํ˜€์žˆ์—ˆ๋‹ค. Post(create) ๋Š” ๋‹น์—ฐํžˆ 201 ์ƒํƒœ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ, 200์„ ๊ธฐ๋Œ€ํ•˜์—ฌ ๋ฒŒ์–ด์ง„ ํ•ดํ”„๋‹์ด์—ˆ๋Š”๋ฐ, ๋•๋ถ„์— 200 ๊ณผ 201, ์ด ๋‘˜์„ ํ—ท๊ฐˆ๋ฆด ์ผ์€ ๋” ์ด์ƒ ์—†๊ฒŒ ๋๋‹ค ^.^