[JavaScript] find(), findIndex()

realzu·2022년 9월 21일
0

💛 about JavaScript

목록 보기
11/24

배열에서 특정 값 혹은 인덱스를 찾기 위해 find()findIndex() 메서드를 사용할 수 있다.

📍 find()

arr.find(callback(element, index, array), thisArg)

찾는 값들 중에서 만족하는 첫 번째 요소를 반환한다. 찾는 값이 없다면 undefined를 반환한다.

const arr = [1, 2, 3, 4, 5];

arr.find(element => element > 2); // 3
arr.find(element => element === 6); // undefined

🔹 object

객체가 담긴 배열도 가능하다. 객체의 속성을 이용해 값을 도출할 수 있으며, 메서드를 사용하는 방법에는 두 가지가 있다.

const weathers = [
    {name: 'spring'},
    {name: 'summer'},
    {name: 'autumn'},
    {name: 'winter'}
  ];

//1 - 함수 사용
function findSummer(val){
    return val.name === 'summer';
  }

weathers.find(findSummer)

//2 - 화살표 함수 사용
weathers.find(val => val.name === 'winter'); // {name: 'winter'}

첫 번째 방법은 함수를 사용하여 return 값에 특정 값이 반환되게 하는 것이다.
두 번째 방법은 화살표 함수를 통해 특정 값을 설정할 수 있다.

📍 findIndex()

arr.findIndex(callback(element, index, array), thisArg)

찾는 값 대신 찾는 값의 인덱스를 반환하는 메서드다. 만족하는 값이 없으면 -1을 반환한다.

const arr = [1, 2, 3, 4, 5];

arr.findIndex(element => element > 2); // 1
arr.findIndex(element => element === 6); // -1

🔹 object

객체의 배열도 find()와 동일하게 사용 가능하다.

const weathers = [
    {name: 'spring'},
    {name: 'summer'},
    {name: 'autumn'},
    {name: 'winter'}
  ];

weathers.findIndex(val => val.name === 'winter'); //3

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/find
https://cocobi.tistory.com/123?category=909654
https://gurtn.tistory.com/78

profile
부딪히지 않으면 아무 일도 일어나지 않는다 👊

0개의 댓글