Javascript는 배열에서 요소를 찾는 데 사용할 수 있는 함수 모음을 제공합니다. 가장 기본적인 것부터 시작하겠습니다. indexOf 함수는 전체 배열을 살펴보고 검색한 요소의 인덱스를 반환하고, 그렇지 않으면 -1을 반환합니다. 예를 들어,
예시
let people = ["Harry", "Martha", "John", "Sam"]; console.log(people.indexOf("John")) console.log(people.indexOf("Jim"))
출력
이것은 출력을 줄 것입니다 -
2 -1
검색을 더욱 강력하게 만드는 데 사용할 수 있는 더 복잡한 다른 기능이 있습니다. find() 메소드를 살펴보자. find() 메서드는 callback() 메서드로 제공한 조건과 일치하는 첫 번째 객체를 반환합니다. 예를 들어,
예시
let people = [{ name: 'Agnes', age: 25 }, { name: 'Richard', age: 21 }, { name: 'Zoe', age: 35 }]; let personNameStartsWithR = people.find(person => person.name[0] === 'R'); console.log(personNameStartsWithR)
출력
이것은 출력을 줄 것입니다 -
{ name: 'Richard', age: 21 }
그러나 위의 결과는 우리에게 객체를 제공합니다. findIndex 함수를 사용하여 이 객체의 인덱스를 찾을 수 있습니다. 예를 들어,
예시
let people = [{ name: 'Agnes', age: 25 }, { name: 'Richard', age: 21 }, { name: 'Zoe', age: 35 }]; let personNameStartsWithR = people.findIndex(person => person.name[0] === 'R'); console.log(personNameStartsWithR)
출력
이것은 출력을 줄 것입니다 -
1
find() 및 findindex() 함수는 콜백을 인수로 사용하고 콜백은 요소, 인덱스, 배열 인수를 사용합니다. 이 함수는 요소의 첫 번째 발생만 제공합니다. indexOf 함수는 fromIndex라는 다른 매개변수도 사용하므로 해당 지점부터 계속 검색할 수 있습니다. 예를 들어,
예시
let people = ["Harry", "Martha", "John", "Sam", "Martha"]; console.log(people.indexOf("Martha")); console.log(people.indexOf("Martha", 3))
출력
이것은 출력을 줄 것입니다 -
1 4