Trong trường hợp chuỗi, chúng ta chỉ cần sử dụng == hoặc === để xem chúng có giống nhau không nhưng chúng ta không thể sử dụng chúng để xem hai mảng có giống nhau hay nói cách khác là chúng có cùng phần tử.
Vì vậy, điều này sẽ không hoạt động.
const array1 = [1, 2, 3, 4, 5]
const array2 = [1, 2, 3, 4, 5]
console.log[array1 == array2] //false
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Nhưng nếu chúng ta chuyển đổi mảng thành chuỗi thì sao? . Điều này làm cho nhiệm vụ rất dễ dàng. Chúng ta có thể sắp xếp một mảng bằng phương thức toString, vd. array1.toString[]
hoặc chúng ta có thể sử dụng bản hack này
console.log[[1, 2, 3, 4, 5] + ""]
//logs 1,2,3,4,5
console.log[typeof [[1, 2, 3, 4, 5] + ""]]
//logs string
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Vì vậy, về cơ bản nếu chúng ta cố nối chuỗi [trong trường hợp này là chuỗi rỗng] thành một mảng thì mảng đó sẽ được chuyển đổi thành một chuỗi.
vì vậy bây giờ chúng ta chỉ cần sử dụng các mảng dưới dạng chuỗi và so sánh chúng
const array1 = [1, 2, 3, 4, 5]
const array2 = [1, 2, 3, 4, 5]
console.log[array1 + "" == array2 + ""] //true
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Ngoài ra, nếu bạn muốn nó hoạt động với các mảng mà các phần tử không theo thứ tự, trước tiên bạn có thể sắp xếp chúng. Hãy tạo một hàm tiện ích cho điều đó
function compareArr[arr1, arr2]{
arr1.sort[]
arr2.sort[]
return arr1 + "" == arr2 + ""
}
const array1 = [1, 2, 3, 4, 5]
const array2 = [1, 5, 2, 4, 3]
console.log[compareArr[array1, array2]] // returns true
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Để 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
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
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
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