Nodejs kiểm tra mục trong mảng

JavaScript cung cấp một loạt các phương thức mảng hữu ích để kiểm tra xem một mảng có chứa một giá trị cụ thể hay không

Trong khi tìm kiếm giá trị nguyên thủy như số hoặc chuỗi tương đối dễ dàng, tìm kiếm đối tượng phức tạp hơn một chút

Trong bài đăng này, bạn sẽ đọc về cách xác định xem một mảng có chứa một giá trị cụ thể hay không, là nguyên hàm hay đối tượng

1. Mảng chứa một giá trị nguyên thủy

Giá trị nguyên thủy trong JavaScript là một chuỗi, số, boolean, ký hiệu và giá trị đặc biệt

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

5

Cách dễ nhất để xác định xem một mảng có chứa giá trị nguyên thủy hay không là sử dụng phương thức mảng

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

0 ES2015

javascript

const hasValue = array.includes(value[, fromIndex]);

Đối số đầu tiên

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

1 là giá trị cần tìm trong mảng. Đối số thứ hai, tùy chọn,

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

2 là chỉ mục từ nơi bắt đầu tìm kiếm. Phương thức này trả về một giá trị boolean cho biết liệu

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

3 có chứa

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

1 hay không

Ví dụ: hãy xác định xem một mảng các từ chúc mừng có chứa các giá trị

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

5 và

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

6 hay không

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

7 trả về

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

8 vì mảng chứa mục

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

5

Nhưng

javascript

const hasValue = array.includes(value[, fromIndex]);

20 trả về

javascript

const hasValue = array.includes(value[, fromIndex]);

21, biểu thị rằng

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

6 bị thiếu trong mảng

javascript

const hasValue = array.includes(value[, fromIndex]);

23

1. 1 Tìm kiếm từ một chỉ mục

javascript

const hasValue = array.includes(value[, fromIndex]);

24 cũng chấp nhận một đối số thứ hai tùy chọn để bắt đầu tìm kiếm giá trị bắt đầu một chỉ mục

Ví dụ: hãy bắt đầu tìm kiếm từ mục thứ hai (chỉ số

javascript

const hasValue = array.includes(value[, fromIndex]);

25 trở lên) trong mảng

javascript

const hasValue = array.includes(value[, fromIndex]);

2

javascript

const hasValue = array.includes(value[, fromIndex]);

26 bắt đầu tìm kiếm thư

javascript

const hasValue = array.includes(value[, fromIndex]);

27 từ chỉ mục

javascript

const hasValue = array.includes(value[, fromIndex]);

25. Như mong đợi, bức thư được tìm thấy

Tuy nhiên,

javascript

const hasValue = array.includes(value[, fromIndex]);

29 trả về

javascript

const hasValue = array.includes(value[, fromIndex]);

21 vì mảng từ chỉ mục

javascript

const hasValue = array.includes(value[, fromIndex]);

25 cho đến cuối không chứa mục

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

52

2. Mảng chứa một đối tượng

Kiểm tra xem một mảng có chứa một đối tượng phức tạp hơn một chút so với tìm kiếm các giá trị nguyên thủy hay không

Dễ dàng xác định xem một mảng có chứa tham chiếu đến một đối tượng hay không — chỉ cần sử dụng phương thức

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

0. Ví dụ

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

5

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

54 trả về

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

8 vì mảng

javascript

const hasValue = array.includes(value[, fromIndex]);

23 chứa tham chiếu đối tượng

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

57 (trỏ tới mục đầu tiên của mảng)

Nhưng thường xuyên hơn, thay vì tìm kiếm theo tham chiếu, bạn muốn tìm kiếm các đối tượng theo nội dung của chúng. Trong trường hợp như vậy,

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

0 sẽ không hoạt động

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

3

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

54 trả về

javascript

const hasValue = array.includes(value[, fromIndex]);

21, vì mảng không chứa tham chiếu đối tượng

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

57. Mặc dù mảng chứa đối tượng

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

32 trông giống hệt như

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

57

Ok, vậy làm cách nào để bạn xác định xem mảng có chứa đối tượng theo nội dung hay không theo tham chiếu?

Trong quá trình kiểm tra bình đẳng nông của các đối tượng, danh sách các thuộc tính của cả hai đối tượng được kiểm tra bằng nhau

Đây là một triển khai khả thi của kiểm tra bình đẳng nông

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

0

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

35 trả về

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

8 trong trường hợp nếu cả hai đối tượng được so sánh

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

37 và

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

38 có cùng một bộ thuộc tính có cùng giá trị

Trong đoạn mã sau,

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

32 và

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

00 bằng nhau về nội dung, trong khi

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

32 và

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

02 thì không

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

9

Xin nhắc lại, phương thức mảng

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

03 trả về

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

8 nếu ít nhất một lần hàm

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

05 trả về

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

8

Bây giờ, hãy sử dụng hàm bình đẳng nông kết hợp với phương thức

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

03 để tìm xem mảng có chứa một đối tượng theo nội dung hay không

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

5

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

08 kiểm tra mọi mục của mảng để tìm sự bình đẳng nông với đối tượng

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

57

Nếu đối tượng được tìm kiếm cũng chứa các đối tượng lồng nhau, thì thay vì hàm

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

90, bạn có thể sử dụng hàm deepEqual()

3. Bản tóm tắt

Tìm kiếm một giá trị nguyên thủy như chuỗi hoặc số bên trong một mảng rất đơn giản. chỉ cần sử dụng phương pháp

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

91

Xác định xem một mảng có chứa một đối tượng theo nội dung cần nhiều phần chuyển động hơn không. Bạn phải sử dụng phương pháp

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

03 kết hợp với kiểm tra bình đẳng nông

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

1

Lưu ý rằng các phương pháp được trình bày không phải là những phương pháp duy nhất. e. g. trong một thời gian dài _______ 493 biểu thức (hơi vụng về) đã được sử dụng để xác định xem

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

3 có chứa

javascript

const greetings = ['hi', 'hello'];

greetings.includes('hi'); // => true

greetings.includes('hey'); // => false

1

Bạn biết những cách nào khác để phát hiện xem một mảng có chứa giá trị không?

Thích bài viết?

Nodejs kiểm tra mục trong mảng
đề xuất cải tiến

Bài đăng chất lượng vào hộp thư đến của bạn

Tôi thường xuyên xuất bản bài viết có chứa

  • Các khái niệm JavaScript quan trọng được giải thích bằng các từ đơn giản
  • Tổng quan về các tính năng JavaScript mới
  • Cách sử dụng TypeScript và cách gõ
  • Thiết kế phần mềm và thực hành mã hóa tốt

Đăng ký nhận bản tin của tôi để nhận chúng ngay trong hộp thư đến của bạn

Đặt mua

Tham gia cùng 6719 người đăng ký khác

Nodejs kiểm tra mục trong mảng

Nodejs kiểm tra mục trong mảng

Giới thiệu về Dmitri Pavlutin

Nhà văn và huấn luyện viên công nghệ. Thói quen hàng ngày của tôi bao gồm (nhưng không giới hạn) uống cà phê, viết mã, viết, huấn luyện, vượt qua sự nhàm chán 😉