728x90
반응형
기존 ES5에서의 indexOf와 비슷하지만, ES6에서 findIndex()라는 메서드를 지원하며 더욱 강력한
배열 검색 기능을 지원하게 되었다.
가장 큰 차이점은 indexOf이 특정값만 찾는 데 사용되었다면, findIndex()는 filter등의 다른 함수와
조합하여 더욱 복잡한 조건의 검색도 가능하다는 점이다.
findIndex()이란?
-----------------------------------------------------------------------------------------------------------------------------------
Array.prototype.findIndex() : 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환합니다. 만족하는 요소가 없으면 -1을 반환
여기서 "주어진 판별 함수를 만족" 한다는 문구가 핵심이다.
기본문법
arr.findIndex(function(currentValue, index, array), thisValue));
//function : (필수값) 배열의 각 엘리먼트에서 실행 될 함수
//currentValue : (필수값) 배열 내에서 순차적으로 입력되는 엘리먼트
//index : (선택값) 현재 엘리먼트의 배열 내 index
//array : (선택값) 현재 엘리먼트가 속한 배열
//thisValue : (선택값) 함수 내부에서 사용될 this에 대한 값
findIndex의 function안에 인자가 많지만, 실제로 주로 쓰이는 것은 currentValue뿐이다..
찾는 값이 있는 경우
<script>
let array = ['달 밝은 밤이면','창가에 흐르는','내 젊은 연가가','구슬퍼'];
let index = array.findIndex((currentValue,index,array)=>{
return currentValue == '구슬퍼'
});
console.log(index); //구슬퍼의 위치값인 3 출력
</script>
찾는 값이 없는 경우
<script>
let array = ['달 밝은 밤이면','창가에 흐르는','내 젊은 연가가','구슬퍼'];
let index = array.findIndex((currentValue,index,array)=>{
return currentValue == '기뻐서'
});
console.log(index); //'기뻐서'가 없으니 -1 출력
</script>
728x90
반응형
'FrontEnd > JavaScript' 카테고리의 다른 글
[JS] contextmenu 이벤트를 통해 우클릭시 메뉴를 컨트롤 하는 기능을 구현해보자. (0) | 2022.03.19 |
---|---|
[JS] ES6문법 : 전개구문 ( Spread Syntax )에 대해 알아보자 ( 배열 및 객체 복사 , ... 문법 ) (0) | 2022.03.19 |
[JS] IndexOf()를 통해 특정 요소값의 인덱스(위치)를 찾아보자. (0) | 2022.03.19 |
[JS] ES6 : includes()를 이용하여 문자열 및 배열에 특정 값이 있는 지 확인 해보자. (0) | 2022.03.18 |
[JS] ES6 : Promise 객체 기본 사용법에 대해서.. ( 프로미스 객체 생성 및 then, catch... ) (0) | 2022.03.18 |