Kiến thức

So sánh mảng trong JavaScript

So sánh mảng trong JavaScript

So sánh xem 2 mảng có giống nhau không là điều mà đôi khi chúng ta phải làm trong ứng dụng JavaScript của mình.

Trong bài viết này, chúng ta sẽ xem xét các cách để so sánh mảng trong JavaScript.

>> Xem ngay Tài liệu Java Core giúp bạn “Nâng Cấp” kỹ năng lập trình

Vòng lặp for

Thông thường, chúng ta sẽ suy nghĩ đến các bước đơn giản nhất để so sánh mảng trong JavaScript. Đầu tiên là kiểm tra số lượng phần tử trong 2 mảng. Nếu khác nhau thì rõ ràng 2 mảng đó không thể giống nhau.

Khi mà số lượng phần tử trong 2 mảng bằng nhau, chúng ta sẽ kiểm tra các phần tử cùng vị trí để xem chúng có trùng nhau hay không.

Rất đơn giản, chúng ta có thể sử dụng vòng lặp for để thực hiện việc so sánh mảng trong JavaScript như sau:

const a = [1, 2, 3, 5]; const b = [1, 2, 3, 5]; let isEqual; if(a.length !== b.length) { isEqual = false; } else { for (let i = 0; i < a.length; i++) { if(a[i] !== b[i]) { isEqual = false; break; } isEqual = true; } } console.log(isEqual);Code language: JavaScript (javascript)

Array.prototype.every

Nếu như việc thực hiện vòng lặp for để so sánh mảng trong JavaScript như ví dụ trên quá rườm ra, bạn có thể sử dụng phương thức every của mảng để kiểm tra xem mọi phần tử trong một mảng có nằm trong mảng mà chúng ta đang so sánh hay không.

Chuyên gia chia sẻ  Apple Wallet là gì? Cách sử dụng Apple Wallet để quản lý thẻ quà tặng, vé máy bay, vé sự kiện,...

Nếu chúng có cùng độ dài và mỗi phần tử trong một mảng này cũng nằm trong mảng kia, thì chúng ta biết rằng cả hai mảng đều giống nhau.

Ví dụ:

const array1 = [1, 2, 3] const array2 = [1, 2, 3] const sameArray = array1.length === array2.length && array1.every((value, index) => value === array2[index]) console.log(sameArray)Code language: JavaScript (javascript)

Chúng ta có 2 mảng array1 và array2 có nội dung giống nhau. Chúng ta kiểm tra xem cả hai có cùng độ dài hay không trước. Sau đó chúng ta gọi every để so sánh value với array2[index].

Lodash isEqual

Chúng ta cũng có thể sử dụng phương pháp Lodash’s isEqual để so sánh 2 mảng xem chúng có nội dung giống nhau hay không.

Ví dụ:

const array1 = [1, 2, 3] const array2 = [1, 2, 3] const sameArray = _.isEqual(array1, array2) console.log(sameArray)Code language: JavaScript (javascript)

Chúng ta chỉ cần đưa các mảng mà chúng ta muốn so sánh làm đối số của hàm isEqual.

JSON.stringify

Ngoài ra, chúng ta có thể thực hiện các phép so sánh mảng đơn giản với phương thức JSON.stringify.

Nó sẽ chuyển đổi mảng thành chuỗi JSON. Sau đó, chúng ta có thể so sánh các mảng được xâu chuỗi trực tiếp.

const array1 = [1, 2, 3] const array2 = [1, 2, 3] const sameArray = JSON.stringify(array1) === JSON.stringify(array2); console.log(sameArray)Code language: JavaScript (javascript)

Kết luận

Chúng ta có thể sử dụng một số cách để so sánh xem 2 mảng có giống nhau trong JavaScript hay không. Cách đơn giản nhất là sử dụng JSON.stringify để so sánh các phiên bản được xâu chuỗi của các mảng.

Chuyên gia chia sẻ  Vietnam country code: Useful information for international calls and more

Ngoài ra, chúng ta có thể sử dụng phương thức every để kiểm tra từng phần tử của một mảng để xem chúng có giống nhau hay không.

Cuối cùng, chúng ta có thể sử dụng phương thức Lodash isEqual để so sánh 2 mảng.

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.

Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/PHP/.NET TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Đánh giá bài viết post

Phạm Văn Sỹ

Tôi là Phạm Văn Sỹ chuyên gia uy tín trong lĩnh vực kinh tế và kinh doanh là sinh viên của trường Đại học Ngoại Thương. Với kiến thức sâu rộng sau 12 năm ở bên ngoài thương trường thị trường tôi mong muốn chia sẻ các kiến thức chuyên sâu hữu ích dành cho mọi người.

Related Articles

Back to top button