Trong Javascript có nhiều cách để tìm kiếm phần tử trong Array. Cách đơn giản nhất là sử dụng vòng lặp. Nhưng với ES6+ có nhiều phương thức để lặp trong Array và tìm kiếm trong các phần từ dễ dàng hơn
Dưới đây sẽ là những phương thức Array có thể sử dụng
- Mảng. bao gồm
- Mảng. tìm thấy
- Mảng. Chỉ số
- Mảng. lọc
bao gồm
const alligator = ["thick scales", 80, "4 foot tail", "rounded snout"];
alligator.includes["thick scales"]; // returns true
Phương thức
arr.includes[valueToFind, [fromIndex]];
8 trả về giá trị arr.includes[valueToFind, [fromIndex]];
9 là cách hoàn hảo được sử dụng để kiểm tra xem phần tử có tồn tại trong mảng hay không, giá trị trả về của hàm này sẽ là Uncaught TypeError: thick scales is not a function
0 hoặc Uncaught TypeError: thick scales is not a function
1. Cú pháp đơn giản như sauarr.includes[valueToFind, [fromIndex]];
Bây giờ khi bạn thấy trong ví dụ trên, ta chỉ có một tham số - valueToFind ở dạng
Uncaught TypeError: thick scales is not a function
2. Tùy chọn từ Uncaught TypeError: thick scales is not a function
3 là một số, cho biết chỉ số nào bạn muốn bắt đầu tìm kiếm [mặc định là 0, nên tìm kiếm toàn bộ phần tử trong mảng]. Vì vậy, trong ví dụ trên, mục Uncaught TypeError: thick scales is not a function
4 chỉ có số 0, nên sau đây sẽ là Uncaught TypeError: thick scales is not a function
1. Uncaught TypeError: thick scales is not a function
6 kể từ khi nó bắt đầu tìm kiếm từ chỉ số 1 trở điCó một vài điều quan trọng cần chú ý. Phương pháp ________ 18 này sử dụng so sánh rất nghiêm trọng. Điều đó có nghĩa là, từ ví dụ trên, sau đây sẽ trả về
Uncaught TypeError: thick scales is not a function
1. Uncaught TypeError: thick scales is not a function
9 Điều đó bởi vì mặc dù 80 == '80' là Uncaught TypeError: thick scales is not a function
0, 80 === '80' là Uncaught TypeError: thick scales is not a function
1tìm thấy
Phương pháp. find[] other with. bao gồm [] như thế nào?
Uncaught TypeError: thick scales is not a function
Bởi vì phương thức
arr.includes[valueToFind, [fromIndex]];
72 yêu cầu một arr.includes[valueToFind, [fromIndex]];
73 được truyền vào. Vì phương thức arr.includes[valueToFind, [fromIndex]];
72 không phải là cách sử dụng toán tử so sánh đơn giản như arr.includes[valueToFind, [fromIndex]];
75. Thay vào đó, nó sẽ chuyển từng phần tử vào chức năng của bạn và kiểm tra rồi trả về giá trị Uncaught TypeError: thick scales is not a function
0 hay arr.includes[valueToFind, [fromIndex]];
77. Vì vậy, mặc dù điều này hoạt động. arr.includes[valueToFind, [fromIndex]];
78, bạn có thể muốn đưa so sánh toán tử của riêng mình vào hàm để nó trả về bất cứ điều gì có liên quanarr.includes[valueToFind, [fromIndex]];
7Hàm đơn giản này trong phương thức
arr.includes[valueToFind, [fromIndex]];
72 chúng tôi xem xét từng phần tử của mảng, với arr.includes[valueToFind, [fromIndex]];
60 của arr.includes[valueToFind, [fromIndex]];
61, chúng tôi đã gán cho nó và dừng lại khi nó tìm thấy phần đầu tiên là đúng. Trong trường hợp Uncaught TypeError: thick scales is not a function
0 có thuộc tính độ dài nhỏ hơn 12 [arr.includes[valueToFind, [fromIndex]];
63 không có thuộc tính độ dài]. Tất nhiên bạn có thể làm cho chức năng này phức tạp khi cần thiết, làm cho điều kiện thực tế của bạn đáp ứng nhu cầu của bạnTrong ví dụ trên, ta chỉ sử dụng cuộc gọi lại với một tham số. Bạn cũng có thể bổ sung các tham số để tham khảo
arr.includes[valueToFind, [fromIndex]];
64 phần tử hiện tại. Một tham số khác có thể là arr.includes[valueToFind, [fromIndex]];
65, nhưng tôi thấy điều này hiếm khi được sử dụng. Dưới đây là một ví dụ sử dụng arr.includes[valueToFind, [fromIndex]];
64arr.includes[valueToFind, [fromIndex]];
6Có 3
arr.includes[valueToFind, [fromIndex]];
67 khác nhau đáp ứng điều kiện đầu tiên arr.includes[valueToFind, [fromIndex]];
68. Nếu đây là điều kiện duy nhất, nó sẽ trả lại cái đầu tiên_______269. Nhưng sự khác biệt là, chỉ có một người có số chỉ là 2 và đó là Uncaught TypeError: thick scales is not a function
70Nói về
Uncaught TypeError: thick scales is not a function
71, một mảng tương tự phương thức là. tìm Index []. Phương thức này cũng nhận được một hàm, nhưng nếu bạn có thể đoán được, nó chỉ trả về số phần tử phù hợp thay vì phần tử chính đóChỉ số
Uncaught TypeError: thick scales is not a function
7Giống như phương thức
arr.includes[valueToFind, [fromIndex]];
8, Uncaught TypeError: thick scales is not a function
73 sử dụng so sánh nghiêm ngặt, không phải là hàm như chúng ta đã thấy với phương thức Uncaught TypeError: thick scales is not a function
74. Nhưng không giống với Uncaught TypeError: thick scales is not a function
75, nó trả về arr.includes[valueToFind, [fromIndex]];
64 của phần tử, thay vì arr.includes[valueToFind, [fromIndex]];
9. Bạn cũng có thể chỉ ra arr.includes[valueToFind, [fromIndex]];
64 any trong mảng để bắt đầu tìm kiếmMình thấy
Uncaught TypeError: thick scales is not a function
79 rất hữu ích. Nó nhanh chóng và dễ dàng, bạn có thể biết phần tử nằm trong mảng và bạn có thể biết phần tử có tồn tại hay không. Làm thế nào để nó cho bạn biết nếu các yếu tố tồn tại? Uncaught TypeError: thick scales is not a function
8Và như bạn có thể thấy, mặc dù chúng ta có thể lấy các phương thức
Uncaught TypeError: thick scales is not a function
81 hoặc Uncaught TypeError: thick scales is not a function
82 để cung cấp cho chúng ta cùng một thông tin, nhưng điều này ít hơn rất nhiều để viết. Chúng tôi không phải viết ra một hàm để so sánh, bởi vì nó đã nằm trong phương thức Uncaught TypeError: thick scales is not a function
83Bây giờ, giống như những cái khác,
Uncaught TypeError: thick scales is not a function
73 cũng trả về arr.includes[valueToFind, [fromIndex]];
64 của phần tử khớp đầu tiên mà nó tìm thấy. Uncaught TypeError: thick scales is not a function
86 cung cấp cho chúng ta một phương thức thay thế Uncaught TypeError: thick scales is not a function
87. Như bạn có thể đoán là điều này thực hiện tương tự như Uncaught TypeError: thick scales is not a function
79 nhưng bắt đầu từ arr.includes[valueToFind, [fromIndex]];
64 cuối cùng của mảng và hoạt động ngược. Bạn cũng có thể chỉ định một tham số thứ hai, nhưng hãy nhớ các tham số không thay đổi, chỉ vì bạn đang sử dụng một phương thức khácarr.includes[valueToFind, [fromIndex]];
9Thưởng. lọc
Uncaught TypeError: thick scales is not a function
0Phương thức
arr.includes[valueToFind, [fromIndex]];
90 giống như phương thức Uncaught TypeError: thick scales is not a function
81, trong đó nó yêu cầu một arr.includes[valueToFind, [fromIndex]];
73 được truyền tải và một điều kiện cho những gì sẽ được trả lại. Sự khác biệt chính là arr.includes[valueToFind, [fromIndex]];
90 luôn trả về một arr.includes[valueToFind, [fromIndex]];
65, ngay cả khi chỉ có một phần tử phù hợp. Nhưng nó sẽ trả về tất cả các phần tử đối sánh, trong khi Uncaught TypeError: thick scales is not a function
81 chỉ trả về kết quả đầu tiên