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
5javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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
0 ES2015javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
javascript
const hasValue = array.includes[value[, fromIndex]];
Đối số đầu tiên
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ệujavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
3 có chứajavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
1 hay khôngjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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ị
5 vàjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
6 hay khôngjavascript
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ụcjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
5javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
Nhưng
20 trả vềjavascript
const hasValue = array.includes[value[, fromIndex]];
21, biểu thị rằngjavascript
const hasValue = array.includes[value[, fromIndex]];
6 bị thiếu trong mảngjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
23javascript
const hasValue = array.includes[value[, fromIndex]];
1. 1 Tìm kiếm từ một chỉ mục
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ụcjavascript
const hasValue = array.includes[value[, fromIndex]];
Ví dụ: hãy bắt đầu tìm kiếm từ mục thứ hai [chỉ số
25 trở lên] trong mảngjavascript
const hasValue = array.includes[value[, fromIndex]];
2javascript
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ụcjavascript
const hasValue = array.includes[value[, fromIndex]];
25. Như mong đợi, bức thư được tìm thấyjavascript
const hasValue = array.includes[value[, fromIndex]];
Tuy nhiên,
29 trả vềjavascript
const hasValue = array.includes[value[, fromIndex]];
21 vì mảng từ chỉ mụcjavascript
const hasValue = array.includes[value[, fromIndex]];
25 cho đến cuối không chứa mụcjavascript
const hasValue = array.includes[value[, fromIndex]];
52javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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
0. Ví dụjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
5javascript
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ảngjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
23 chứa tham chiếu đối tượngjavascript
const hasValue = array.includes[value[, fromIndex]];
57 [trỏ tới mục đầu tiên của mảng]javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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,
0 sẽ không hoạt độngjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
3javascript
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
21, vì mảng không chứa tham chiếu đối tượngjavascript
const hasValue = array.includes[value[, fromIndex]];
57. Mặc dù mảng chứa đối tượngjavascript
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
57javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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
0javascript
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ánhjavascript
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ịjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
Trong đoạn mã sau,
32 vàjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
00 bằng nhau về nội dung, trong khijavascript
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ôngjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
9javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
Xin nhắc lại, phương thức mảng
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àmjavascript
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
8javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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
03 để tìm xem mảng có chứa một đối tượng theo nội dung hay khôngjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
5javascript
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ượngjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
57javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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
90, bạn có thể sử dụng hàm deepEqual[]javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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
91javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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
03 kết hợp với kiểm tra bình đẳng nôngjavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
1javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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
3 có chứajavascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
1javascript
const greetings = ['hi', 'hello'];
greetings.includes['hi']; // => true
greetings.includes['hey']; // => false
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?
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 muaTham gia cùng 6719 người đăng ký khác
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 😉