๋ชฉ๋ก๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๊ฐœ๋ฐœ๊ฐœ๋ฐœ/javascript (25)

DevLog

๊ณ ์ฐจํ•จ์ˆ˜ ๋ฉ”์„œ๋“œ ์ •๋ฆฌ(map, filter, reduce)

map() map() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ ๊ฐ๊ฐ์— ๋Œ€ํ•˜์—ฌ ์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. map ํ™œ์šฉ ์‹œ, ์•„๋ž˜ ๊ณผ์ •์„ ๊ผญ ๊ธฐ์–ตํ•˜์„ธ์š”. ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๊ฐ€ ํŠน์ • ๋…ผ๋ฆฌ(ํ•จ์ˆ˜)์— ์˜ํ•ด ๋‹ค๋ฅธ ์š”์†Œ๋กœ ์ง€์ •(map) ํ•ฉ๋‹ˆ๋‹ค. const array1 = [1, 4, 9, 16]; // pass a function to map const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32] filter() filter() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ํ•จ์ˆ˜์˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. filter ํ™œ์šฉ ์‹œ, ์•„๋ž˜ ๊ณผ์ •์„ ๊ผญ ๊ธฐ์–ตํ•˜์„ธ์š”. ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๊ฐ€..

๊ณ ์ฐจํ•จ์ˆ˜(์ฝœ๋ฐฑํ•จ์ˆ˜) ์ •๋ฆฌ

ํŠน๋ณ„ํ•œ ๋Œ€์šฐ๋ฅผ ๋ฐ›๋Š” 1๊ธ‰ ๊ฐ์ฒด javascript ํ•จ์ˆ˜์˜ ํŠน์ง• ๋ณ€์ˆ˜์— ํ• ๋‹น(assignment) ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ์ธ์ž(argument)๋กœ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋กœ์„œ ๋ฆฌํ„ด๋  ์ˆ˜ ์žˆ๋‹ค. //๋ณ€์ˆ˜์— ํ•จ์ˆ˜๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฒฝ์šฐ /* * ์•„๋ž˜๋Š” ๋ณ€์ˆ˜ square์— ํ•จ์ˆ˜๋ฅผ ํ• ๋‹นํ•˜๋Š” ํ•จ์ˆ˜ ํ‘œํ˜„์‹์ž…๋‹ˆ๋‹ค. * ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ•จ์ˆ˜๋Š” ์ผ๊ธ‰ ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์ˆ˜์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. * * ํ•จ์ˆ˜ ํ‘œํ˜„์‹์€ ํ• ๋‹น ์ „์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. * square(7); // --> ReferenceError: Can't find variable: square */ const square = function (num) { return num * num; }; // square์—๋Š” ํ•จ์ˆ˜๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ (์ผ๊ธ‰ ๊ฐ์ฒด..

immutable (๋ถˆ๋ณ€์„ฑ) ๋ฉ”์„œ๋“œ : slice()

[].slice() Immutable (๋ถˆ๋ณ€์„ฑ) ๋ฉ”์„œ๋“œ "์›๋ณธ ๋ฐฐ์—ด์„ ์ˆ˜์ •ํ•˜์ง€์•Š๊ณ , ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋˜๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ" arr.slice(begin, end) begin: ์ถ”์ถœ ์‹œ์ž‘์ ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. [Optional] end: ์ถ”์ถœ ์ข…๋ฃŒ์ ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ธ๋ฑ์Šค ์ „๊นŒ์ง€ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. [Optional] ๋ฐ˜ํ™˜๊ฐ’: ์ถ”์ถœํ•œ ์š”์†Œ๋ฅผ ํฌํ•จํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. end๊ฐ’์ด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ํฌ๋‹ค๋ฉด, ๋ฐฐ์—ด ๋๊นŒ์ง€ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. end๊ฐ’์ด ์ƒ๋žต๋˜๋ฉด, slice()๋Š” ๋ฐฐ์—ด์˜ ๋๊นŒ์ง€ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. start๊ฐ’์ด end๊ฐ’๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด, ๋นˆ ๋ฐฐ์—ด์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์ค‘์š”์˜ˆ์‹œ let arr = [0,1,2,3,4,5]; const copiedArr = arr.slice(); copiedArr[3] = '..