Front-end ๐Ÿ”ฅ๐Ÿ–ค/JavaScript

[Java Script] Array.prototype.map() ์ด๋ž€?

stable_sound 2022. 5. 19. 23:24

๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ๋งŽ์ด ์“ฐ๊ณ  ์žˆ๋Š” map() ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๋ คํ•œ๋‹ค.

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

 

 

 

๊ตฌ๋ฌธ

array.map(callbackfn(currentValue, index, array), thisArg)

- callbackfn : ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜

- currentValue : ์ฒ˜๋ฆฌํ•  ํ˜„์žฌ ์š”์†Œ

- index (์ƒ๋žต ๊ฐ€๋Šฅ) : ์ฒ˜๋ฆฌํ•  ํ˜„์žฌ ์š”์†Œ์˜ ์ธ๋ฑ์Šค

- array (์ƒ๋žต ๊ฐ€๋Šฅ) : map()์„ ํ˜ธ์ถœํ•œ ๋ฐฐ์—ด

- thisArg (์ƒ๋žต ๊ฐ€๋Šฅ) : callback์„ ์‹คํ–‰ํ•  ๋•Œ this๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’

 

 

์˜ˆ์ œ 

const array = [1, 3, 6, 9];

const mapArray = array.map((x) => x * 2);

console.log(mapArray);

 

array ๋ฐฐ์—ด์˜ ๊ฐ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด *2๋ฅผ ํ•œ ํ›„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด mapArray์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž.

 

const array = ["1", "3", "6", "9"];

const mapArray = array.map((x) => parseInt(x));

console.log(array, typeof array[0]);
console.log(mapArray, typeof mapArray[0]);

 

๋ฐฑ์ค€์—์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋•Œ์—๋Š” ๋ณดํ†ต ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์“ธ ๋•Œ๊ฐ€ ๋งŽ๋‹ค. (๋ฌผ๋ก  ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋„ ๋งŽ์ด ์‚ฌ์šฉ!)

let input = require("fs")
  .readFileSync("example.txt")
  .toString()
  .trim()
  .split("\n")
  .map((x) => parseInt(x)); // input์˜ ๊ฐ’๋“ค์ด string์ด๊ธฐ ๋•Œ๋ฌธ์— parseInt ํ•˜์—ฌ number๋กœ ๋ฐ”๊ฟˆ 

const count = new Set(input.map((x) => x % 42)).size;
console.log(count);

 

์™ผ) map() ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ์ „์˜ input ๋ฐฐ์—ด / ์˜ค) map() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ input ๋ฐฐ์—ด

 

 


์ฐธ๊ณ )

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/map

 

Array.prototype.map() - JavaScript | MDN

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

developer.mozilla.org