So sánh mảng số JavaScript
Hãy xem xét bạn có hai mảng trong Javascript, mỗi mảng chứa một số phần tử. Bây giờ, bạn muốn so sánh các mảng. Bằng cách so sánh, chúng tôi có nghĩa là bạn muốn biết liệu cả hai mảng có chứa cùng một số phần tử hay không và liệu tất cả các phần tử đó có cùng giá trị hay không. Nếu hai dãy thỏa mãn cả hai điều kiện này thì ta nói hai dãy bằng nhau. Nhưng, so sánh hai mảng không đơn giản như nó có vẻ. Hãy để chúng tôi khám phá những cách khác nhau mà chúng tôi có thể làm như vậy trong phần tiếp theo Show
Phương pháp so sánh hai mảng trong JavaScriptCó nhiều phương pháp để so sánh hai mảng trong Javascript, chúng ta sẽ xem xét một số phương pháp Trong Javascript so sánh hai đối tượng hoặc mảng được thực hiện theo tham chiếu chứ không phải theo giá trị. Điều này có nghĩa là thay vì so sánh các giá trị có trong hai mảng, Javascript sẽ kiểm tra xem chúng có trỏ đến cùng một tham chiếu hay không, điều này thường không xảy ra ngay cả khi hai mảng chứa các phần tử giống nhau. Điều này có nghĩa là khi so sánh hai mảng trong JavaScript, sử dụng toán tử đẳng thức lỏng lẻo hoặc chặt chẽ ( == hoặc ===), thông thường nó sẽ cho kết quả sai. Hãy để chúng tôi cố gắng hiểu điều này tốt hơn bằng một ví dụ
Một phương pháp khác thường được sử dụng để so sánh hai mảng trong javascript là sử dụng JSON. xâu chuỗi (). JSON. hàm stringify trong Javascript chuyển đổi một đối tượng/mảng thành chuỗi JSON. Vì vậy, sử dụng phương pháp này, sau đó chúng ta có thể tuần tự hóa từng mảng và so sánh hai chuỗi được tuần tự hóa. Hãy để chúng tôi cố gắng hiểu việc triển khai giải pháp này sẽ như thế nào
Một trong những cách đơn giản nhất có thể được sử dụng để so sánh hai mảng trong Javascript là so sánh từng phần tử trong cả hai mảng một. Để thực hiện giải pháp này, trước tiên chúng ta cần kiểm tra xem kích thước của cả hai mảng đang được so sánh có bằng nhau hay không
Hãy để chúng tôi hiểu điều này tốt hơn bằng một ví dụ ________số 8đầu ra
Như chúng ta đã thấy trước đó, phương pháp so sánh hai mảng trong Javascript bằng JSON. stringify() chúng tôi phải xử lý một số trường hợp khó giải mã. Chúng ta có thể sử dụng Mảng. nguyên mẫu. every() trên tất cả các phần tử một để khắc phục những trường hợp này. Chúng ta hãy xem một ví dụ để hiểu phương pháp này 0
Cách thức hoạt động của phương pháp này rất giống với phương pháp trước đó. Sự khác biệt duy nhất là bất cứ khi nào chúng ta gặp một đối tượng lồng nhau trong các mảng, chúng ta sẽ lại gọi hàm này theo cách đệ quy cho các đối tượng đó và sau đó tiếp tục. Chúng ta hãy xem xét một ví dụ 4
Trong trường hợp chúng ta chỉ cần kiểm tra xem nội dung của cả hai mảng có giống nhau không và không quan tâm đến thứ tự các phần tử thì chúng ta có thể sử dụng phương pháp này. Chúng tôi sử dụng một tập hợp và Array. nguyên mẫu. filter() cùng với một vòng lặp để kiểm tra từng giá trị duy nhất nếu chúng xuất hiện với số lần bằng nhau trong cả hai mảng 6 |