Tìm kiếm javascript trong mảng đối tượng

Hàm mảng find[] trong JavaScript trả về giá trị của phần tử đầu tiên trong một mảng vượt qua bài kiểm tra hàm được cung cấp. Hãy cùng tìm hiểu sâu hơn về phương thức find[] của mảng

tìm mảng Javascript

Javascript array find[] là một hàm có sẵn dùng để lấy giá trị của phần tử đầu tiên trong Mảng thỏa mãn điều kiện cho sẵn. Hàm find[] chấp nhận một hàm, thisValue, phần tử, chỉ mục, và mảng và kiểm tra tất cả các phần tử mảng và bất kỳ phần tử đầu tiên nào đáp ứng, điều kiện sẽ được in.

Nếu có nhiều mặt hàng đáp ứng điều kiện, mặt hàng đầu tiên đáp ứng yêu cầu sẽ được trả lại

Nếu bạn cần một chỉ mục của mục được tìm thấy trong Mảng, hãy sử dụng findIndex[].  

Nếu bạn cần tìm chỉ số của giá trị, hãy sử dụng Array Array. nguyên mẫu. Chỉ số[]. Nếu bạn cần tìm xem giá trị có tồn tại trong một mảng hay không, hãy sử dụng Array. nguyên mẫu. bao gồm[]

Giả sử bạn muốn tìm số lẻ đầu tiên trong Mảng. Hàm đối số kiểm tra đối số truyền vào có phải là số lẻ hay không.

Hàm find[] gọi một hàm đối số cho mọi mục Array. Số lẻ đầu tiên mà hàm đối số trả về giá trị true được hàm find[] báo cáo là câu trả lời.

cú pháp

Cú pháp của phương thức mảng find[] như sau

array.find[function[element, index, array],thisValue]

Thông số

Hàm nhận ba đối số sau

yếu tố
Đây là mục hiện tại đang được xử lý bởi chức năng

mục lục
Đây là chỉ mục của mục hiện tại đang được xử lý bởi chức năng

mảng
Đây là Mảng mà Mảng. hàm filter[] đã được gọi

Một đối số khác là thisValue. Nó báo cho hàm sử dụng giá trị mảng khi thực thi hàm đối số

Thí dụ

Chúng tôi sẽ sử dụng Nút. js trong ví dụ này để chạy mã javascript

Vì vậy, hãy để chúng tôi tạo tệp có tên là ứng dụng. js và thêm đoạn mã sau

// app.js

var data = [20, 18, 15, 10, 9];

var found = data.find[function[element] {
  return element < 12;
}];

console.log[found];

Vì vậy, chúng tôi đã viết một điều kiện. Nếu bất kỳ phần tử mảng nào thỏa mãn điều kiện này, nó sẽ trả về giá trị của phần tử đó và việc kiểm tra thêm các phần tử bên trong mảng sẽ bị dừng lại.

Ở đây, cả giá trị 10 và 9 đều nhỏ hơn 12, tuy nhiên, chúng ta vẫn nhận được 10 vì giá trị 10 của một mục nằm đầu tiên trong một mảng

Vì vậy, chỉ có 10 sẽ trở lại chứ không phải 9. Nếu phần tử thỏa mãn điều kiện được tìm thấy bên trong một mảng, nó sẽ ngay lập tức trả về và không cần kiểm tra thêm

➜  es git:[master] ✗ node app
10
➜  es git:[master] ✗

Tìm mảng ES6[]

Chúng ta có thể viết hàm trên theo chuẩn ES6 như sau

// app.js

const data = [20, 18, 15, 10, 9];

let found = data.find[element => element < 12];

console.log[found];

Câu trả lời sẽ giống như câu trước, nhưng cú pháp nhẹ hơn nhiều

Bây giờ chúng ta hãy lấy một kịch bản trong đó không xác định được tìm thấy

// app.js

const data = [20, 18, 15, 10, 9];

let found = data.find[element => element < 9];

console.log[found];

Trong ví dụ trên, tất cả các phần tử đều lớn hơn 9;

Chức năng thuần túy

Phương thức Tìm mảng Javascript là một hàm thuần túy vì nó không thay đổi một mảng mà nó được gọi. Thay vào đó, nó sẽ trả về một giá trị thỏa mãn điều kiện của nó

Tìm một phần tử trong mảng bằng find[]

Bây giờ, hãy viết đoạn mã sau

// app.js

const fruits = [
    {name: 'apples', quantity: 2},
    {name: 'bananas', quantity: 0},
    {name: 'cherries', quantity: 5}
];

const getFruit = fruits.find[fruit => fruit.name === 'apples'];

console.log[getFruit];

Ở đây, chỉ một đối tượng sẽ được trả về nếu điều kiện được đáp ứng thành công

  es git:[master] ✗ node app
{ name: 'apples', quantity: 2 }
➜  es git:[master] ✗

Vì vậy, bất cứ khi nào chúng ta gặp một tình huống cần lấy giá trị của phần tử đầu tiên trong một mảng thỏa mãn chức năng kiểm tra được cung cấp, chúng ta có thể sử dụng Array. phương thức find[] trong JavaScript

Mảng Javascript stìm kiếm

Để tìm kiếm một phần tử trong mảng trong JavaScript, hãy sử dụng phương thức find[] của mảng. Phương thức find[] kiểm tra xem một mảng có chứa phần tử hay không. Hãy lấy một ví dụ về việc người đó có phải là người lớn hay không. Nếu chúng ta tìm thấy giá trị đầu tiên từ mảng thỏa mãn tiêu chí, nó sẽ trả về giá trị đó.

Chúng tôi đang tìm kiếm một mục trong Mảng bằng hàm javascript find[]

// app.js
let ages = [6, 18, 19, 21];

let checkAdult = age => {
  return age >= 18;
}

console.log[ages.find[checkAdult]];

Trong đoạn mã trên, nếu phần tử mảng đầu tiên được tìm thấy lớn hơn hoặc bằng 18, nó sẽ trả về kết quả. Bây giờ, xem đầu ra

________số 8_______

Ftìm một phần tử trong mảng JavaScript

Để tìm xem một mảng có chứa một phần tử trong mảng JavaScript hay không, hãy sử dụng phương thức mảng bao gồm[]. Javascript bao gồm[] là một hàm mảng tích hợp xác định xem một mảng có chứa phần tử được chỉ định hay không. Nó trả về true nếu nó bao gồm một phần tử, ngược lại là false, không bao gồm phần tử trong mảng.

Kể từ ECMAScript 2018, chúng ta có thể sử dụng hàm Javascript include[].  

Nếu bạn muốn hỗ trợ IE hoặc các trình duyệt cũ khác, hãy thử đoạn mã sau

// app.js
 function include[arr,obj] {
    return [arr.indexOf[obj] != -1];
}

Trong đoạn mã trên, chúng ta đã sử dụng phương thức indexOf trong Javascript. Đây là cách tìm kiếm giá trị trong một mảng trong javascript.

Tìm đối tượng trong mảng JavaScript

Để tìm một đối tượng trong một mảng JavaScript, hãy sử dụng mảng. phương thức tìm[]. Phương thức find[] tìm kiếm đối tượng được cung cấp bên trong mảng và nếu phương thức tìm thấy nó, nó sẽ trả về đối tượng

Tôi có một mảng các đối tượng không xác định, chứa Mảng các đối tượng được đặt tên và chúng ta cần lấy đối tượng có “tên” là “một chuỗi nào đó. ” Xem ví dụ lập trình sau

// app.js

var data = [20, 18, 15, 10, 9];

var found = data.find[function[element] {
  return element < 12;
}];

console.log[found];
0

Được rồi, trong đoạn mã trên, đầu tiên, chúng ta có một hàm do người dùng định nghĩa được gọi là hàm tìm kiếm, hàm này chấp nhận hai đối số. Một là khóa đối tượng đầu vào và cái còn lại là một mảng đầu vào

Nó lặp lại inputArray và so sánh khóa với thuộc tính tên của Array. Nếu khớp thì trả về toàn bộ đối tượng. Xem đầu ra bên dưới

Chúng ta cũng có thể sử dụng hàm find[] để lấy giá trị tương tự. Xem đoạn mã sau

// app.js

var data = [20, 18, 15, 10, 9];

var found = data.find[function[element] {
  return element < 12;
}];

console.log[found];
1

Nó sẽ cung cấp cho chúng ta cùng một đầu ra, nhưng nó ở chức năng mũi tên kiểu ES6

Tìm một chuỗi trong JavaScript

Để tìm một chuỗi trong JavaScript, hãy sử dụng phương thức string search[]. Phương thức javascript search[] tìm kiếm một chuỗi cho một giá trị cụ thể và trả về vị trí của trận đấu. Giá trị tìm kiếm có thể là một chuỗi hoặc một biểu thức chính quy. Phương thức này trả về -1 nếu không tìm thấy kết quả khớp.

Tìm số nguyên tố trong mảng

Ví dụ sau tìm phần tử trong mảng là số nguyên tố [hoặc trả về không xác định nếu không có số nguyên tố]

// app.js

var data = [20, 18, 15, 10, 9];

var found = data.find[function[element] {
  return element < 12;
}];

console.log[found];
2

Xem đầu ra

// app.js

var data = [20, 18, 15, 10, 9];

var found = data.find[function[element] {
  return element < 12;
}];

console.log[found];
3

Sử dụng chức năng mũi tên ES6 và phá hủy

Chúng ta có thể sử dụng chức năng mũi tên ES6 và phá hủy đối tượng trong Javascript với chức năng tìm[] javascript. Mã trông rõ ràng hơn, ít lỗi hơn và dễ hiểu. Xem đoạn mã sau

// app.js

var data = [20, 18, 15, 10, 9];

var found = data.find[function[element] {
  return element < 12;
}];

console.log[found];
4

đầu ra

// app.js

var data = [20, 18, 15, 10, 9];

var found = data.find[function[element] {
  return element < 12;
}];

console.log[found];
5

Nếu nữ diễn viên là Millie Bobby Brown trong đoạn mã trên, nó sẽ cung cấp cho chúng ta đối tượng đó với hai thuộc tính;

Polyfill

Phương thức find[] mảng JS đã được thêm vào đặc tả ECMAScript 2015 và có thể không có sẵn trong tất cả các triển khai JavaScript. Tuy nhiên, bạn có thể sử dụng Mảng polyfill. nguyên mẫu. find[] đoạn mã sau

// app.js

var data = [20, 18, 15, 10, 9];

var found = data.find[function[element] {
  return element < 12;
}];

console.log[found];
6

Nếu bạn muốn hỗ trợ các công cụ JavaScript lỗi thời không hỗ trợ Object. defineProperty, tốt nhất là không nên polyfill Mảng. nguyên mẫu, vì bạn không thể làm cho nó không đếm được

Hỗ trợ trình duyệt

TÍNH NĂNG HỖ TRỢ CƠ BẢNChrome45EdgeCóFirefox25Internet ExplorerKhôngOpera32Safari8Android WebViewCóChrome cho AndroidCóEdge di độngCóFirefox cho Android4Opera AndroidCóiOS Safari8

 Kết luận

  1. Bài kiểm tra phải được cung cấp dưới dạng chức năng
  2. Phương thức find[] thực thi hàm gọi lại một lần cho từng phần tử trong mảng cho đến khi tìm thấy giá trị trả về true
  3. Nếu không có gì vượt qua bài kiểm tra, thì undefined được trả về
  4. find[] không làm biến đổi hoặc thay đổi Mảng ban đầu. Vì vậy, nó là một chức năng thuần túy
  5. Bất cứ khi nào chúng ta cần lấy giá trị của phần tử đầu tiên trong mảng thỏa mãn hàm kiểm tra được cung cấp, chúng ta sử dụng Array. phương thức find[] trong JavaScript

    Làm cách nào để lọc mảng đối tượng trong JavaScript?

    Người ta có thể sử dụng hàm filter[] trong JavaScript để lọc mảng đối tượng dựa trên các thuộc tính. Hàm filter[] sẽ trả về một mảng mới chứa tất cả các phần tử của mảng thỏa mãn điều kiện đã cho. Nếu không có phần tử nào vượt qua điều kiện, nó sẽ trả về một mảng trống.

    Làm cách nào để kiểm tra xem một mảng đối tượng có chứa giá trị trong JavaScript không?

    Sử dụng Phương thức include[] . Nếu mảng chứa một đối tượng/phần tử có thể được xác định bằng cách sử dụng phương thức include[]. Phương thức này trả về true nếu mảng chứa đối tượng/phần tử khác trả về false.

    Làm cách nào để tìm chỉ mục của phần tử trong mảng đối tượng trong JavaScript?

    Mảng JavaScript findIndex[] . Phương thức findIndex[] trả về chỉ số [vị trí] của phần tử đầu tiên vượt qua bài kiểm tra. Phương thức findIndex[] trả về -1 nếu không tìm thấy kết quả khớp.

    Làm cách nào để tìm kiếm đối tượng trong js?

    Trong JavaScript, chúng ta có thể sử dụng Mảng. nguyên mẫu. phương thức find[] để tìm đối tượng theo ID trong một mảng đối tượng.

Chủ Đề