Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

Javascript 배열에서 요소 검색


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