[javascript] 특정 문자 찾기indexOf(), find(), findIndex()

들블리셔·2022년 7월 14일
0

indexOf()

배열에서 특정 값과 일치하는 것을 찾고,
첫 번째 인덱스만 반환한다.
존재하지 않으면 -1을 반환 한다.

const name = ['kim', 'nam', 'lee'];
const indexTest = name.indexOf('lee');
console.log(index)  //2;

배열에서 "lee"라는 문자열을 찾고 인덱스를 반환한다.



find()

판별 함수를 만족하는 배열의 첫번째 요소 자체를 반환 한다.
만족하는것이 없으면 undefined를 반환.

const numbers = [1, 10, 20, 30, 40, 50];
const findTest = numbers.find(num => num < 50);
console.log(findTest);  //1

50보다 작은 요소 중 첫번째 요소 1만 반환 한다.



findIndex()

판별 함수를 만족하는 배열의 첫번째 요소의 인덱스를 반환 한다.
만족하는것이 없으면 -1을 반환

const numbers = [1, 2, 3, 4, 5];
const findIdx = numbers.findIndex( num => num > 3);
console.log(findIdx);   //3

3보다 크다는 조건을 걸고 그 결과의 요소는 4,5가 된다.
첫번째 요소의 인덱스를 반환 하니 3을 반환 한다.



객체를 담은 배열에 사용해보겠다..

const lists = [
	{
		name: 'kim',
		age: '29'
	},
	{
		name: 'nam',
		age: '25'
	}
]
const findIdx = lists.findIndex(li => li.name === 'kim');
console.log(findIdx);   //0

name이 'kim'인 요소의 인덱스를 반환 한다.




배열의 내장함수에 대해서 알아보았습니다.
비슷비슷한 기능 같기에 헷갈리기도 하네요!

profile
나의 공부방

0개의 댓글