[Javascript] find, findIndex ํ•จ์ˆ˜

0

Javascript ๊ณต๋ถ€ ๋…ธํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
5/5

๐ŸŽถ find

ํŒ๋ณ„ ํ•จ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ฒซ ์š”์†Œ ๋ฐ˜ํ™˜

ํ˜•ํƒœ

arr.findIndex(callback)

์„ค๋ช…

1. callback ํ•จ์ˆ˜

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ž‘์„ฑ
  • ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด true๋ฅผ ๋ฐ˜ํ™˜, ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ž‘์„ฑํ•ด์ค€๋‹ค.
  • ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ฐพ์ž๋งˆ์ž true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ฆ‰ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋งŒ ์ฐพ์•„๋‚ธ๋‹ค๋Š” ๋œป์ด๋‹ค.

2. findIndex ํ•จ์ˆ˜

  • callback ํ•จ์ˆ˜๊ฐ€ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ํ•ด๋‹น ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚จ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜. false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด undefined๋ฅผ ๋ฐ˜ํ™˜.

3. callback ํ•จ์ˆ˜๊ฐ€ ๋ฐ›๋Š” ์ธ์ž

callback(element, index, array)
  • ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ฒดํฌํ•œ๋‹ค.

์˜ˆ์‹œ

const array1 = [5, 12, 8, 130, 44];

const found = array1.find((element) => element > 10);

console.log(found); // 12

๐ŸŽถ findIndex

find์™€ ๋น„์Šทํ•˜์ง€๋งŒ,
ํŒ๋ณ„ ํ•จ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ฒซ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜

ํ˜•ํƒœ

arr.findIndex(callback)

์„ค๋ช…

1. callback ํ•จ์ˆ˜

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ž‘์„ฑ
  • ์›ํ•˜๋Š” ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด true๋ฅผ ๋ฐ˜ํ™˜, ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ž‘์„ฑํ•ด์ค€๋‹ค.
  • ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ฐพ์ž๋งˆ์ž true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ฆ‰ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋งŒ ์ฐพ์•„๋‚ธ๋‹ค๋Š” ๋œป์ด๋‹ค.

2. findIndex ํ•จ์ˆ˜

  • callback ํ•จ์ˆ˜๊ฐ€ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ํ•ด๋‹น ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚จ ์š”์†Œ์˜ index(Number ํƒ€์ž…)๋ฅผ ๋ฐ˜ํ™˜. false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด -1์„ ๋ฐ˜ํ™˜.

3. callback ํ•จ์ˆ˜๊ฐ€ ๋ฐ›๋Š” ์ธ์ž

callback(element, index, array)
  • ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ฒดํฌํ•œ๋‹ค.

์˜ˆ์‹œ

const hobbies = ["Sports", "Cooking", "๋‚  ์ฐพ์•„", "Reading"];

const index = hobbies.findIndex((item) => item === "๋‚  ์ฐพ์•„"); //์š”์†Œ ์ˆœํšŒ
/* ์–˜๋ž‘ ๋™์ผ
hobbies.findIndex((item) => {
  return item === "๋‚  ์ฐพ์•„";
});
 */

console.log(index); // 2

๐Ÿ‘‰ callback ํ•จ์ˆ˜์ธ (item) => item === "๋‚  ์ฐพ์•„"๊ฐ€ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ์š”์†Œ์˜ index์ธ 2๋ฅผ findIndex ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

const arr = [5, 6, 9, 1, 6, 3, 2, 1, 2, 7, 9, 4, 3];

const find = arr.findIndex((element, index, array) => {
  return index < 7 && index > 5; // ๊ฒฐ๊ตญ index๊ฐ€ 6์ธ์•  ์ฐพ๋Š”๊ฑฐ์ž„
});

console.log(find); // 6

์ฐธ๊ณ  ๋งํฌ
https://bbaktaeho-95.tistory.com/40

profile
๊œฑษชษดแด„แด‡ ๏ผ’๏ผ๏ผ’๏ผ‘.๏ผ๏ผ™.๏ผ๏ผ‘

0๊ฐœ์˜ ๋Œ“๊ธ€