[ JavaScript ๋ฌธ๋ฒ• ์ข…ํ•ฉ๋ฐ˜ 1์ฃผ์ฐจ (13)] ๋ฐฐ์—ด๊ณผ ๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ(2)

2023. 7. 27. 22:28ใ†2. JS๋ฌธ๋ฒ• ์ข…ํ•ฉ

 

1. forEach() ๋ฉ”์†Œ๋“œ : forEach() ๋ฉ”์†Œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

let numbers = [1, 2, 3, 4, 5];

numbers.forEach(function(number) {
  console.log(number);
});

* ๋งค๊ฐœ ๋ณ€์ˆ˜ ์ž๋ฆฌ์—, ํ•จ์ˆ˜(function)์„ ๋„ฃ๋Š”๊ฒƒ : ์ฝœ๋ฐฑํ•จ์ˆ˜

forEach๋ฌธ์ด ์ฒ˜์Œ์— ์ž˜ ์ดํ•ด๊ฐ€ ๋˜์ง€์•Š์•„ ์ˆ˜์—…์™ธ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด์„œ ์žฌํ•™์Šตํ•˜๊ณ , ํ•ญ๋ชฉ์„ ์กฐ๊ธˆ ๋ณ€๊ฒฝํ•ด์„œ ๋š๋”ฑ ๊ฑฐ๋ ค๋ณด๋‹ˆ ๋‚ด์šฉ์„ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

forEach() ๋ฉ”์†Œ๋“œ๋Š” ๋ฐฐ์—ด์—์„œ ๋ฃจํ”„๋ฅผ ๋Œ ๋•Œ ์‚ฌ์šฉ ํ•˜๋Š”๋ฐ ๋ฐฐ์—ด๋œ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ด์„œ ์—…๋ฐ์ดํŠธ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ๋‘๋ฒˆ์งธ์˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์ง„ํ–‰ํ•˜๋ฉด ์‰ฝ๊ฒŒ ๊ฐ€๋Šฅํ•˜๋”๋ผ.

 

 

2. map() ๋ฉ”์†Œ๋“œ : map() ๋ฉ”์†Œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

let numbers = [1, 2, 3, 4, 5];

let squaredNumbers = numbers.map(function(number) {
  return number * number;
});

console.log(squaredNumbers);   // [1, 4, 9, 16, 25]

map๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉ์‹œ return๋ฌธ์€ ๊ผญ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. Why? ๊ธฐ์กด์— ์žˆ์—ˆ๋˜ ๋ฐฐ์—ด์„ ๊ฐ€๊ณตํ•ด์„œ ์ƒˆ๋กœ์šด ์—ญํ™œ์„ ์ƒ์„ฑํ•˜๋Š”๊ฒƒ์ด map์˜ ์—ญํ™œ!

 

 

3. filter() ๋ฉ”์†Œ๋“œ : filter() ๋ฉ”์†Œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ true์ธ ์š”์†Œ๋งŒ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

let numbers = [1, 2, 3, 4, 5];

let evenNumbers = numbers.filter(function(number) {
  return number % 2 === 0;
});

console.log(evenNumbers);   // [2, 4]

 

4. find() ๋ฉ”์†Œ๋“œ : find() ๋ฉ”์†Œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ true์ธ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

let numbers = [1, 2, 3, 4, 5];

let foundNumber = numbers.find(function(number) {
  return number > 3;
});

console.log(foundNumber);   // 4