Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm kiếm một phần tử trong Javascript Array


Javascript cung cấp một tập hợp các hàm mà bạn có thể sử dụng để tìm các phần tử trong một mảng. Hãy bắt đầu với cái cơ bản nhất. Hàm indexOf đi qua toàn bộ mảng và trả về chỉ số của phần tử bạn đã tìm kiếm, nếu nó được tìm thấy khác, nó sẽ trả về -1. Ví dụ:

Ví dụ

let people = ["Harry", "Martha", "John", "Sam"];
console.log(people.indexOf("John"))
console.log(people.indexOf("Jim"))

Đầu ra

Điều này sẽ cung cấp đầu ra -

2
-1

Có những chức năng khác, phức tạp hơn mà bạn có thể sử dụng để làm cho việc tìm kiếm trở nên mạnh mẽ hơn. Hãy xem xét phương thức find (). Phương thức find () trả về đối tượng đầu tiên phù hợp với điều kiện bạn cung cấp dưới dạng phương thức callback (). Ví dụ:

Ví dụ

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)

Đầu ra

Điều này sẽ cung cấp đầu ra -

{ name: 'Richard', age: 21 }

Nhưng kết quả trên cho chúng ta một đối tượng. Chúng ta có thể tìm chỉ mục của đối tượng này bằng cách sử dụng hàm findIndex. Ví dụ:

Ví dụ

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)

Đầu ra

Điều này sẽ cung cấp đầu ra -

1

Lưu ý rằng các hàm find () và findindex () nhận cuộc gọi lại làm đối số và lệnh gọi lại nhận các đối số:phần tử, chỉ mục, mảng. Các hàm này chỉ cho biết lần xuất hiện đầu tiên của phần tử. Hàm indexOf cũng nhận một tham số khác, fromIndex, để bạn có thể tiếp tục tìm kiếm từ thời điểm đó trở đi. Ví dụ:

Ví dụ

let people = ["Harry", "Martha", "John", "Sam", "Martha"];
console.log(people.indexOf("Martha"));
console.log(people.indexOf("Martha", 3))

Đầu ra

Điều này sẽ cung cấp đầu ra -

1
4