JS

[JS] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ ๋น„๊ต ๋ฐ ํ™œ์šฉ - findIndex, includes

hyonie 2025. 3. 27. 15:50

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฐฐ์—ด์„ ๋‹ค๋ฃฐ ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” findIndex()์™€ includes() ์ด๋‘˜์€ ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ ์—„์—ฐํžˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด ๋‘ ๋ฉ”์„œ๋“œ์˜ ๋™์ž‘์›๋ฆฌ์™€ ํ•จ๊ป˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 


โ“ findIndex vs includes ์ฐจ์ด์ ์€?

๊ตฌ๋ถ„ findIndex() includes()
๋ชฉ์  ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ ๋ฐฐ์—ด์ด๋‚˜ ๋ฌธ์ž์—ด์— ํ•ด๋‹น ๊ฐ’์ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
๋ฐ˜ํ™˜๊ฐ’ ์ธ๋ฑ์Šค(0, 1, 2, ...) ๋˜๋Š” -1 true ๋˜๋Š” false
์‚ฌ์šฉ๋Œ€์ƒ ๋ฐฐ์—ด ๋ฐฐ์—ด ๋˜๋Š” ๋ฌธ์ž์—ด
์ฝœ๋ฐฑ์‚ฌ์šฉ โœ… ๊ฐ€๋Šฅ โŒ ๋ถˆ๊ฐ€๋Šฅ(๊ฐ’๋งŒ์ฒดํฌ)

 

๐Ÿ’ก findIndex๋ž€?

  • findIndex๋Š” ์กฐ๊ฑด์— ๋งž๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๊ฐ€ ์—†๋‹ค๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ์กฐ๊ฑด์ด ์ฐธ(true)์ด ๋˜๋Š” ์ˆœ๊ฐ„, ํ•ด๋‹น ์š”์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ”๋กœ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ’ก includes๋ž€?

includes๋Š” ๋ฐฐ์—ด ๋˜๋Š” ๋ฌธ์ž์—ด ์•ˆ์— ํŠน์ • ๊ฐ’์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค.

  •  ์กฐ๊ฑด์ด ์ฐธ์ด๋ฉด true, ํฌํ•จ๋˜์–ด ์žˆ์ง€์•Š์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • findIndex ์ฒ˜๋Ÿผ ๋ณต์žกํ•œ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด์ด๋‚˜ ๋ฌธ์ž์—ด์ด ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค.

 

๐Ÿงช ์˜ˆ์ œ ์ฝ”๋“œ ๋น„๊ต

 

1. findIndex ์˜ˆ์ œ

const usims = [{value: 'KT-USIM'}, {value: 'LG-USIM'}, {value: 'SK-USIM'}];
const searchCategory = "LG";

const idex = usims.findIndex((item) => item.value.includes(searchCategory));


console.log(idex); // ์ถœ๋ ฅ ๊น‚: 1

 

2. includes ์˜ˆ์ œ (๋‹จ์ˆœ ๊ฐ’ ํ™•์ธ)

const carriers = ['KT', 'LG', 'SK'];

const inExist = carriers.includes('LG'); 

console.log(inExist);// ์ถœ๋ ฅ ๊ฐ’: true

 

 

 

๐Ÿ’ก ์ •๋ฆฌ ํฌ์ธํŠธ

 

  • findIndex()๋Š” ์ฝœ๋ฐฑ์„ ํ†ตํ•ด ๋ณต์žกํ•œ ์กฐ๊ฑด ๊ฒ€์‚ฌ๋ฅผ ํ•˜๋ฉฐ, ํ•ด๋‹น ์กฐ๊ฑด์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•จ
  • includes()๋Š” ๋ฐฐ์—ด์ด๋‚˜ ๋ฌธ์ž์—ด ์•ˆ์— ํŠน์ • ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€๋งŒ ํ™•์ธํ•˜๋Š” ์šฉ๋„

์‹ค๋ฌด์—์„œ๋Š” ๋ฐ์ดํ„ฐ ์œ„์น˜๋ฅผ ์•Œ๊ณ  ์‹ถ์œผ๋ฉด findIndex, ์กด์žฌ ์—ฌ๋ถ€๋งŒ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด includes๋ฅผ ์„ ํƒํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.