세 가지 메소드가 어떠한 요소를 찾는다는 점이 같기 때문에 함께 작성했습니다.
배열명.indexOf(파라미터)의 형태로 작성한다.const arrayA = ["ABC", 1, "감자"];
const indexA = arrayA.indexOf("감자"); //2
const indexB = arrayA.indexOf(1); //1
배열명.findIndex(파라미터)의 형태로 작성한다.const todos = [
{id: 1,text: "자바스크립트 입문",done: true},
{ id: 2, text: "함수 배우기", done: true },
{ id: 3, text: "객체와 배열 배우기", done: true },
{ id: 4, text: "배열 내장 함수 배우기", done: false }
];
const index = todos.findIndex((todo) => todo.id === 3);
출력
2
위와 같이 배열의 각 요소가 객체일 때 findIndex메서드를 사용한다. 위의 예제는 todos 객체 중 id가 3인 요소의 인덱스를 찾는 코드이다. 각 요소를 todo로 불러오고 todo.id를 통해 객체 요소인 id에 접근 했다.
배열명.find(파라미터)의 형태로 작성한다.const index = todos.find((todo) => todo.id === 3);
findIndex 예제 코드에 위의 코드를 추가하면 {id: 3, text: "객체와 배열 배우기", done: true}가 출력된다. findIndex와 마찬가지로 배열의 요소인 객체를 todo에 불러오그 객체들 중 id가 3인 객체를 반환하게 된다.
배열의 요소가 몇 번째 값인지 찾기
배열의 요소 찾기 find