So sánh nhiều mảng JavaScript

Để so sánh hai Mảng trong JavaScript, bạn nên kiểm tra xem cả hai mảng có giống nhau không, các đối tượng được trình bày trong mảng đó có cùng loại không và mỗi mục trong một mảng có tương đương với đối tượng trong mảng được so sánh không

Hướng dẫn này sẽ chỉ cho bạn một số cách so sánh hai mảng

Một trong những phương pháp là chuyển đổi cả hai chuỗi thành chuỗi JSON và so sánh các chuỗi với nhau để xác định đẳng thức. Phương thức dùng để chuyển đổi mảng thành chuỗi

Javascript JSON. phương pháp xâu chuỗi

hãy để firstArr = [1, 2, [3, 4, 5]]; . stringify[firstArr] === JSON. stringify[secondArr]; . nhật ký [isEqual];

Bạn cũng có thể gọi toString[] để cắm một mảng số và chuỗi

Phương thức Javascript toString

hãy để firstArr = [1, 2, 3, 4, 5]; . toString[] === secondArr. toString[]; . nhật ký [isEqual];

Một cách khác của giải pháp trên là Array. nguyên mẫu. every[] để so sánh từng phần tử của mảng với các phần tử của mảng khác

Javascript so sánh hai phần tử mảng

hãy để firstArr = [1, 2, 3, 4, 5]; . chiều dài === giâyArr. chiều dài && firstArr. every[[value, index] => value === secondArr[index]]; . nhật ký [isEqual];

Mảng là các đối tượng giống như danh sách và các phần tử của chúng là các thuộc tính có tên 0, 1, 2. vân vân. Chúng có những tính chất đặc biệt. chiều dài và nhiều hàm thao tác với các phần tử. Độ dài cũng như kiểu của các phần tử đều không cố định

Các mảng được lập chỉ mục bằng 0, nghĩa là phần tử đầu tiên ở chỉ mục 0 và chỉ mục của phần tử cuối cùng tương đương với giá trị của thuộc tính độ dài trừ đi 1

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];
const mảng2 = [1, 2, 3];

bảng điều khiển. log[ array1 === array2]; // false

bảng điều khiển. log[ array1 == array2]; // false

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 có sẵn của JavaScript giúp chuyển đổi bất kỳ loại dữ liệu nào như số nguyên thành chuỗi và sau đó trả về số nguyên đó dưới dạng 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];
const mảng2 = [1, 2, 3];
const mảng3 = [4, 5, 6];
 
bảng điều khiển. log[ array1. toString[] == . toString[]]; // true
 
bảng điều khiển. log[ array1. toString[] === array3.toString[]]; // false

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ặp

Hã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 [] {
    const mảng1 = [1, 2, 3];
    const mảng2 = [4, 5, 6];
    // Trước tiên, hãy kiểm tra độ dài của cả hai mảng
    // nếu độ dài không bằng nhau thì các mảng khác nhau
    if[ array1. độ dài. = mảng2. độ dài]
        return "Sai";
    khác {
        // kiểm tra mọi phần tử của hai mảng
        cho[var i =0;i

Chủ Đề