Array.map()
map() ๋ฉ์๋๋ ๋ฐฐ์ด ๋ด์ ๋ชจ๋ ์์ ๊ฐ๊ฐ์ ๋ํ์ฌ ์ฃผ์ด์ง ํจ์๋ฅผ ํธ์ถํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์, ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค.
์ฌ์ฉ ์์
const arr = [1, 4, 9, 16];
const arrMap = arr.map(x => x*2);
console.log(arrMap); //output: [2, 8, 18, 32]
๊ตฌ๋ฌธ
arr.map(callback(currentValue[, index[, array]])[, thisArg])
Array.reduce()
reduce() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ๋ฆฌ๋์ (reducer) ํจ์๋ฅผ ์คํํ๊ณ , ํ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํฉ๋๋ค.
์ฌ์ฉ ์์
const arr = [1, 2, 3, 4];
const initialValue = 5;
const sumWithInitial = arr.reduce(
(accumulator, currentValue) => accumulator + currentValue,
initialValue
);
console.log(sumWithInitial); //15
//๊ณ์ฐ ์์๋ฅผ ๋ณด์๋ฉด 5(initialValue) + 1 + 2 + 3 + 4 => 15๊ฐ ๋๋ค
๊ตฌ๋ฌธ
arr.reduce(callback[, initialValue])
์ดํดํ๊ธฐ
๊ฐ๋จํ๊ฒ ํํํ๋ฉด, reduce(์ฝ๋ฐฑํจ์, ์ด๊ธฐ๊ฐ ์ง์ ) ์ด๋ฐ ๋๋์ด๋ค.
์ฝ๋ฐฑํจ์๋ ๋ค ๊ฐ์ ์ธ์๋ฅผ ๊ฐ์ง๋ค.
์ธ์๋ผ ํจ์ ์ ๋ฌ ๋๋ ๊ฐ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
1. ๋์ฐ๊ธฐ(accumulator)
- ๋์ฐ๊ธฐ๋ ์ฝ๋ฐฑํจ์์ ๋ฐํ๊ฐ์ ๋์ ํ๋ค. initialValue๋ฅผ ์ค์ ํ ๊ฒฝ์ฐ์๋ ์ฒซ ๋ฒ์งธ ๋ฐํ๊ฐ์ initialValue๊ฐ ๋๋ค.
2. ํ์ฌ ๊ฐ(currentValue)
- ์ฒ๋ฆฌํ ํ์ฌ ์์๋ฅผ ๋ปํ๋ค.
3. ํ์ฌ ์ธ๋ฑ์ค(currentIndex)
- ์ฒ๋ฆฌํ ํ์ฌ ์์์ ์ธ๋ฑ์ค์ด๋ค. initialValue๋ฅผ ์ค์ ํ ๊ฒฝ์ฐ 0๋ถํฐ, ์ค์ ํ์ง ์์๋ค๋ฉด 1๋ถํฐ ์์ํ๋ค.
์ฒ๋ฆฌ๊ฐ ๋๋๊ณ ๊ฐ์ด ๋ฐํ ๋์ด ๋์ฐ๊ธฐ์ ๋์ ๋๋ฉด ๋ค์ ์ธ๋ฑ์ค๋ก ๋์ด๊ฐ๋ค.
4. ์๋ณธ ๋ฐฐ์ด(array)
- reduce()๋ฅผ ํธ์ถํ ๋ฐฐ์ด์ ๋ปํ๋ค.
โญ๏ธ๊ฒฐ๋ก
arr.redue()์์ ์ฝ๋ฐฑํจ์์ (accumulator, currentValue) => {} ํํ๋ก ๋งค๊ฐ๋ณ์๋ฅผ ์ด์ฉํด ์ํ๋ ํ๋์ ์ทจํ ์ ์๋ ๊ฒ์ด๋ค.
๋ฟ๋๋ฌ ์ํ๋ค๋ฉด ์ด๊ธฐ๊ฐ์ ์ค์ ํด ๋์ฐ๊ธฐ์ ๋จผ์ ๋์ ์ํฌ ์๋ ์๋ค๋ ๊ฒ์ด๋ค!
String.padStart()
padStart() ๋ฉ์๋๋ ํ์ฌ ๋ฌธ์์ด์ ์์์ ๋ค๋ฅธ ๋ฌธ์์ด๋ก ์ฑ์, ์ฃผ์ด์ง ๊ธธ์ด๋ฅผ ๋ง์กฑํ๋, ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค.
์ฑ์๋ฃ๊ธฐ๋ ๋์ ๋ฌธ์์ด์ ์์(์ข์ธก)๋ถํฐ ์ ์ฉ๋ฉ๋๋ค.
์ฌ์ฉ ์์
const str = "5";
console.log(str.padStart(5, "0")); //output: "00005"
๊ตฌ๋ฌธ
str.padStart(targetLength [, padString])
์ฐธ๊ณ ๋ก String.padEnd() ๋ฉ์๋๋ ๋ฌธ์์ด์ ๋(์ฐ์ธก)๋ถํฐ ์ฑ์๋ฃ๊ธฐ๊ฐ ์ ์ฉ๋๊ณ , ๊ตฌ๋ฌธ์ ๊ฐ๋ค.
'๐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํจ์จ (JavaScript) (0) | 2023.02.25 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋น๋ฐ์ง๋(JavaScript) (0) | 2023.02.21 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด(java) (0) | 2023.01.19 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ธ์ ๋ณด ์์ง ์ ํจ๊ธฐ๊ฐ(java) (0) | 2023.01.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด๋ฑ๋ณ์ผ๊ฐํ ์ถ๋ ฅํ๊ธฐ (java) (0) | 2023.01.14 |