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๋ฅผ ์„ ํƒํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.