find메서드를 쓰지 않으면 번거로운 상황이 잦아서 정리해둔다.
여태껏은 반복문을 순회하면서 "일치하는게 나오면 이 변수에 담아줘"라고 임의로 함수를 선언해왔는데 일치하는것을 찾는건 그다지 많이 번거로워지지 않지만, "전부 순회해도 일치하는게 하나도 없으면"이라는 조건은 조금더 손이 많이 가기 때문에 이러한 메서드들을 활용할 필요가 있다.
const array1 = [5, 12, 8, 130, 44];
const found = array1.find(element => element > 10);
console.log(found);
// Expected output: 12
주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환한다. 없다면 undefined를 반환한다.
const array1 = [5, 12, 8, 130, 44];
const isLargeNumber = (element) => element > 13;
console.log(array1.findIndex(isLargeNumber));
// Expected output: 3
주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 인덱스를 반환한다. 만족하는 요소가 없으면 -1을 반환한다.
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을 반환한다.