사소한 삽질(find메서드)

최재홍·2023년 4월 18일
0

find메서드를 쓰지 않으면 번거로운 상황이 잦아서 정리해둔다.
여태껏은 반복문을 순회하면서 "일치하는게 나오면 이 변수에 담아줘"라고 임의로 함수를 선언해왔는데 일치하는것을 찾는건 그다지 많이 번거로워지지 않지만, "전부 순회해도 일치하는게 하나도 없으면"이라는 조건은 조금더 손이 많이 가기 때문에 이러한 메서드들을 활용할 필요가 있다.

Array.prototype.find()

const array1 = [5, 12, 8, 130, 44];

const found = array1.find(element => element > 10);

console.log(found);
// Expected output: 12

주어진 판별 함수를 만족하는 첫 번째 요소의 을 반환한다. 없다면 undefined를 반환한다.

Array.prototype.findIndex()

const array1 = [5, 12, 8, 130, 44];

const isLargeNumber = (element) => element > 13;

console.log(array1.findIndex(isLargeNumber));
// Expected output: 3

주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 인덱스를 반환한다. 만족하는 요소가 없으면 -1을 반환한다.

Array.prototype.indexOf()

const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];

console.log(beasts.indexOf('bison'));
// Expected output: 1

// Start from index 2
console.log(beasts.indexOf('bison', 2));
// Expected output: 4

console.log(beasts.indexOf('giraffe'));
// Expected output: -1

배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환한다.

0개의 댓글