Nếu chỉ có hai mảng, có thể dùng các phương pháp logic để tìm phần tử chung. Nhưng nếu có nhiều mảng hơn, việc tìm phần tử chung trở nên khó khăn. Để đơn giản hóa quy trình, phương thức _.intersection() xuất hiện. Đây là hàm trong framework underscore.js, một thư viện của JavaScript.
Phương thức _.intersection() sẽ kiểm tra từng phần tử của tất cả các mảng và hiển thị các giá trị chung. Nếu ít nhất một mảng trong nhóm không có bất kỳ giá trị chung nào thì sẽ không có đầu ra.
Cú pháp
_.intersection(mảng1, mảng2, .... );
Phương thức nhận các mảng và cố gắng tìm ra các giá trị chung để hiển thị làm đầu ra.
Ví dụ
Trong ví dụ sau, phương thức _.intersection() kiểm tra từng giá trị của các mảng được cung cấp và hiển thị các giá trị chung làm đầu ra.
<html> <body> <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> </head> <body> <script type="text/javascript"> document.write(_.intersection([1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6, 7, 8,])); </script> </body> </html>
Kết quả
1,2,3,4,5
Phương thức này không chỉ chấp nhận số hoặc chuỗi làm đầu vào mà còn chấp nhận các giá trị false như void, null, v.v.
Ví dụ
Trong ví dụ sau, không chỉ số mà còn các giá trị false được truyền vào. Phương thức _.intersection() kiểm tra từng giá trị bao gồm cả false và hiển thị các giá trị chung.
<html> <body> <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> </head> <body> <script type="text/javascript"> document.write(_.intersection([1, 2, 3, "null", "undefined"], [1, 2, 3, "null", "undefined", "void"], [1, "null","void"])); </script> </body> </html>
Kết quả
1,null