์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด์ ๋ค๋ฃฐ ๋ ์์ฃผ ์ฌ์ฉ๋๋ 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๋ฅผ ์ ํํ๋ฉด๋ฉ๋๋ค.
'JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] hasOwnProperty ๊ฐ์ฒด ์์ฑ ํ์ธํ๊ธฐ (0) | 2025.04.03 |
---|---|
[JavaScript] ์ฆ์ ์คํ ํจ์ ํํ์(IIFE) ์ด๋? (0) | 2025.04.02 |
[JavaScript] new Set()๊ณผ has() ์ค๋ณต์๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ (0) | 2025.04.02 |
[JS] ํด๋ก์ (Closures)์ ๋ฆฌ์กํธ์ ํ (useState)์ ๊ด๊ณ (0) | 2025.01.19 |
[JS] Math.random()๊ณผ Object.Keys()๋ก ์ ์ฌ๋ฉ๋ด ๋๋ค ์ ํํ๊ธฐ (0) | 2024.12.22 |