Mảng là đối tượng trong JavaScript, do đó, toán tử ba bằng Show
Làm thế nào để bạn so sánh xem hai mảng có bằng nhau không? . thông số JavaScript xác định 4 cách khác nhau để kiểm tra xem hai giá trị có "bằng nhau" hay không và điều đó không tính đến sự bình đẳng sâu sắc giữa các đối tượng Trong những trường hợp như thế này, bạn nên trình bày rõ ràng nhất có thể về ý nghĩa của cụm từ "bình đẳng". " Trong công nghệ phần mềm, đặt câu hỏi đúng cách thường làm cho câu trả lời trở nên rõ ràng Với ý nghĩ đó, đây là 3 định nghĩa về đẳng thức cho mảng và cách kiểm tra chúng Cùng chiều dài, mỗi giá trị bằng nhauMột cách để so sánh Bình đẳng sâu sắc với POJOHàm Một cách hay để tính đến các giá trị đối tượng là so sánh các mảng theo đầu ra Cách tiếp cận này rất tiện lợi vì nó yêu cầu mã tối thiểu và không có thư viện bên ngoài. Tuy nhiên, việc so sánh đầu ra của
Sử dụng ===5 của LodashNgoài câu hỏi khó hiểu về Tương tự, một đối tượng tùy chỉnh giống như một POJO mặt khác, tính đến tất cả những điều này Hàm Tuy nhiên, chúng ta không thể sử dụng toán tử đẳng thức để so sánh các mảng. Lý do đằng sau điều này là mảng JavaScript là một loại đối tượng và các đối tượng được so sánh dựa trên các tham chiếu của các biến chứ không phải trên các giá trị const mảng1 = [1, 2, 3]; Trong đoạn mã trên, chúng tôi đã khởi tạo hai mảng giống nhau. Tuy nhiên, trong đầu ra, chúng ta sẽ thấy sai Do đó để giải quyết vấn đề này, trong bài đăng này, chúng ta sẽ tìm hiểu một số cách để so sánh hai mảng trong JavaScript Phương pháp 1. toString()Phương thức toString() là một phương thức JavaScript sẵn có để chuyển đổi bất kỳ loại dữ liệu nào như số nguyên thành một chuỗi và sau đó trả về số nguyên đó dưới dạng một chuỗi. Chúng ta có thể áp dụng phương thức toString() trên một mảng, phương thức này sẽ chuyển đổi mảng thành một chuỗi và sau đó so sánh chuỗi này với chuỗi khác const mảng1 = [1, 2, 3]; Trong đoạn mã trên, chúng tôi đã khởi tạo ba mảng và sau đó chúng tôi áp dụng phương thức toString() trên các mảng và trước tiên so sánh mảng1 với mảng2 và trả về kết quả trong bảng điều khiển. Theo cách tương tự, chúng tôi đã so sánh mảng1 với mảng3 và bảng điều khiển ghi lại kết quả Từ kết quả trên, chúng ta có thể thấy rằng “mảng1” bằng “mảng2” nhưng “mảng1” không bằng “mảng3” Phương pháp 2. Sử dụng vòng lặpHãy để chúng tôi thực hiện một phương pháp khác trong đó chúng tôi sẽ kiểm tra thủ công các phần tử của hai mảng và sau đó tạo đầu ra. Với mục đích này, hãy để tôi chỉ cho bạn mã đầu tiên hàm compareArrays () { Trong đoạn mã trên, chúng ta đã định nghĩa một hàm trong đó chúng ta khởi tạo hai mảng trước. Sau đó, chúng tôi đặt điều kiện để kiểm tra độ dài của các mảng Nếu độ dài của hai mảng không bằng nhau thì điều đó có nghĩa là hai mảng khác nhau do đó hàm sẽ trả về false Tuy nhiên, nếu độ dài bằng nhau thì chúng tôi đã đặt một vòng lặp for nơi chúng tôi sẽ kiểm tra mọi phần tử của cả hai mảng. Nếu thậm chí một phần tử không bằng nhau thì Sai sẽ được trả về. Nếu tất cả các phần tử của cả hai mảng được so khớp thì nó sẽ trả về true Đầu ra của đoạn mã trên được hiển thị bên dưới Nếu chúng ta thay đổi mã một chút bằng cách cung cấp hai mảng bằng e. g hàm compareArrays () { Đầu ra sau đây sẽ được tạo ra Phần kết luậnChúng ta không thể so sánh hai mảng trong JavaScript bằng toán tử đẳng thức == hoặc === vì mảng JavaScript là đối tượng và do đó tham chiếu được kiểm tra chứ không phải giá trị. Với mục đích này, chúng tôi đã xác định hai phương thức trong bài đăng này để so sánh các mảng. Trong phương thức đầu tiên, chúng tôi đã sử dụng phương thức tích hợp toString() trong đó trước tiên chúng tôi đã chuyển đổi các mảng thành chuỗi và sau đó kiểm tra hai chuỗi được trả về bằng toán tử đẳng thức. Trong phương pháp thứ hai, trước tiên chúng tôi kiểm tra độ dài theo cách thủ công và sau đó so sánh lần lượt tất cả các phần tử của hai mảng bằng cách sử dụng vòng lặp for Làm cách nào để so sánh 2 mảng trong js?Mặc dù JavaScript không có phương thức sẵn có để so sánh trực tiếp hai mảng, nhưng nó lại có phương thức sẵn có để so sánh hai chuỗi. Các chuỗi cũng có thể được so sánh bằng toán tử đẳng thức. Do đó, chúng ta có thể chuyển đổi mảng thành chuỗi, sử dụng phương thức Array join(), sau đó kiểm tra xem các chuỗi có bằng nhau không .
Làm thế nào để so sánh 2 mảng?Một cách đơn giản là chạy một vòng lặp và so sánh từng phần tử một . Java cung cấp một phương thức trực tiếp Arrays. equals() để so sánh hai mảng. Trên thực tế, có một danh sách các phương thức equals() trong lớp Arrays cho các kiểu nguyên thủy khác nhau (int, char,. v.v.) và một cho loại Đối tượng (là cơ sở của tất cả các lớp trong Java).
Làm cách nào để so sánh giá trị mảng trong JavaScript?equals = function (array) { // nếu mảng kia là giá trị giả, trả về if (. mảng) trả về sai; . chiều dài. =
Mảng có thể được so sánh với == không?Nói cách khác, hai mảng bằng nhau nếu chúng chứa các phần tử tương đương theo cùng thứ tự . Để kiểm tra đẳng thức tham chiếu, hãy sử dụng các toán tử đẳng thức tham chiếu, == và. = |