Frontend/JS Function

[Javascript / Array] find, findIndex : 배열 검색하기

oneyenee 2023. 9. 27. 14:17

Array.find(callback)

  • callback( element, index, array )
  • callback 함수 실행값이 true인 element를 반환
  • 원하는 요소를 찾자마자 메서드 종료. 가장 먼저 callback 함수 조건에 맞는 첫번째 element를 찾아냄
  • 조건을 만족하는 element가 없을 경우 undefined 반환

 

파라미터 설명 필수값
element 현재 처리중인 배열의 element Y
index 현재 처리중인 배열의 index N
array find가 호출된 배열 N

 

리턴값
element (undefined)

 

const arr = [4, 3, 6, 9, 1, 20, 74, 232];

const find1 = arr.find(e => e>5); // find1 = 6
const find2 = arr.find((e,i) => i === 6) // find2 = 74
const find3 = arr.find((e,i,array) => array[i+1] > e) // find3 = 3

 

Array.findIndex(callback)

  • callback( element, index, array )
  • callback 함수 실행값이 true인 index 반환. (type = number)
  • 원하는 요소를 찾자마자 메서드 종료. 가장 먼저 callback 함수 조건에 맞는 첫번째 index를 찾아냄
  • 조건을 만족하는 index가 없을 경우 -1 반환

 

파라미터 설명 필수값
element 현재 처리중인 배열의 element Y
index 현재 처리중인 배열의 index N
array findIndex가 호출된 배열 N

 

리턴값
Number (-1)

 

const array = [97, 33, 6, 4, 7, 24, 17];

const findIdx1 = array.findIndex(e => e>30); // findIdx1 = 1
const findIdx2 = array.findIndex((e,i) => i>4 && e<20); // findIdx2 = 6
const findIdx3 = array.findIndex((e,i,arr) => arr[i+2] > e); // findIdx3 = 2
const findIdx4 = array.findIndex((e,i) => i > 8); // findIdx4 = -1