findIndex 이해하기
- findIndex란?
- 순서도(플로우 차트)
- 예시
findIndex란?
findIndex란 앞서 배운 find와 동일합니다. 차이는 조건을 참으로 만족시키는 요소를 반환하는 것이 아닌 그 요소의 index값을 반환합니다. 만약 모든 요소가 조건을 만족시키지 못한다면 -1을 반환합니다. 말 그대로 index 값을 찾을 때 사용하는 메서드입니다.
arr.findIndex((매개변수)=>{
실행할 내용
return 조건;
});
1. 배열의 첫 번째 요소를 매개변수로 입력합니다.
2. 실행할 내용을 실행합니다.
3. 조건이 참이면 조건을 만족시킨 배열의 요소의 index값을 반환합니다.
4. 조건이 거짓이면 배열의 다음 index의 요소를 매개변수로 입력합니다.
5. 조건이 참이 되거나 배열의 모든 요소를 확인할 때까지 반복합니다.
6. 배열의 모든 요소가 조건에 대하여 거짓인 경우 값을 -1을 반환합니다.
순서도(플로우 차트)
예시
let arr = ["짱구", "철수", "유리", "맹구"];
let result;
//철수 찾기
result = arr.findIndex((item)=>{
console.log(`${item} == "철수"라면 index값을 반환해주세요.`)
return item=="철수";
});
console.log(result);
arr배열의 요소로 "짱구", "철수", "유리", "맹구"로 초기화한다.
result를 선언한다.
result의 값으로 arr.findIndex로 선언한다.
배열의 메서드 findIndex를 실행한다.
arr의 첫 번째 요소인 "짱구"를 매개변수의 값으로 console.log를 실행하고 반환할 조건을 확인한다.
조건이 거짓이므로 arr의 다음 요소를 매개변수의 값으로 넣고 조건이 참이 될 때까지 반복한다.
arr의 두 번째 요소인 "철수"를 매개변수의 값으로 실행한 경우 "철수"의 index값인 1을 반환한다.
result의 값이 "1"이 된다.
console.log(result)를 통하여 result를 찍는다.
결과 :
짱구 == "철수"라면 index값을 반환해주세요.
철수 == "철수"라면 index값을 반환해주세요.
1
let arr = ["짱구", "철수", "유리", "맹구"];
let result;
//맹구 찾기
result = arr.findIndex((item)=>{
console.log(`${item} == "훈이"라면 index값을 반환해주세요.`)
return item=="훈이";
});
console.log(result);
arr배열의 요소로 "짱구", "철수", "유리", "맹구"로 초기화한다.
result를 선언한다.
result의 값으로 arr.findIndex로 선언한다.
배열의 메서드 findIndex를 실행한다.
arr의 첫 번째 요소인 "짱구"를 매개변수의 값으로 console.log를 실행하고 반환할 조건을 확인한다.
조건이 거짓이므로 arr의 다음 요소를 매개변수의 값으로 넣고 조건이 참이 될 때까지 반복한다.
배열의 요소중에 조건이 참인 배열의 요소가 없으므로 -1을 반환한다.
result의 값이 "-1"이 된다.
console.log(result)를 통하여 result를 찍는다.
결과 :
짱구 == "훈이"라면 index값을 반환해주세요.
철수 == "훈이"라면 index값을 반환해주세요.
유리 == "훈이"라면 index값을 반환해주세요.
맹구 == "훈이"라면 index값을 반환해주세요.
-1