find 이해하기
find란?
find는 forEach처럼 배열이 가진 요소를 하나씩 매개변수의 값으로 입력하여 실행할 내용을 반복 실행합니다. 반환할 조건이 true가 된다면 반복을 종료하고 조건이 참이 되게 한 배열의 요소를 반환합니다. 배열의 모든 요소가 조건에 대하여 거짓이라면 반환하는 값은 없습니다. 주로 사용되는 곳은 배열에 특정한 요소가 있는지 확인할 때 사용하게 됩니다.
배열 명.find((매개변수)=>{
실행할 내용;
return 조건;
});
1. 배열의 첫 번째 요소를 매개변수로 입력합니다.
2. 실행할 내용을 실행합니다.
3. 조건이 참이면 조건을 만족시킨 배열의 요소를 반환합니다.
4. 조건이 거짓이면 배열의 다음 index의 요소를 매개변수로 입력합니다.
5. 조건이 참이 되거나 배열의 모든 요소를 확인할 때까지 반복합니다.
6. 배열의 모든 요소가 조건에 대하여 거짓인 경우 값을 반환하지 않습니다.
순서도(플로우 차트)
예시
let arr = ["짱구", "유리", "철수", "맹구"];
let result;
result = arr.find((item) => {
console.log(`배열의 요소 ${item}가 철수인가요? 참이면 반환해주세요.`)
return item=="철수";
});
console.log(result);
arr배열의 요소로 "짱구", "유리", "철수", "맹구"로 초기화한다.
result를 선언한다.
result의 값으로 arr.find로 선언한다.
배열의 메서드 find를 실행한다.
arr의 첫 번째 요소인 "짱구"를 매개변수의 값으로 console.log를 실행하고 반환할 조건을 확인한다.
조건이 거짓이므로 arr의 다음 요소를 매개변수의 값으로 넣고 조건이 참이 될 때까지 반복한다.
arr의 세 번째 요소인 "철수"를 매개변수의 값으로 실행한 경우 "철수"를 반환한다.
result의 값이 "철수"가 된다.
console.log(result)를 통하여 result를 찍는다.
결과 :
배열의 요소 짱구가 철수인가요? 참이면 반환해주세요.
배열의 요소 유리가 철수인가요? 참이면 반환해주세요.
배열의 요소 철수가 철수인가요? 참이면 반환해주세요.
철수