Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm thế nào để so sánh hai mảng để xem chúng có bao nhiêu phần tử giống nhau trong JavaScript?

Giả sử, chúng ta có hai mảng, một mảng chứa các chuỗi câu trả lời chính xác của một số câu hỏi và một mảng chứa các câu trả lời do ứng viên thử, nhưng bằng cách nào đó, các mảng đã bị xáo trộn và biết rằng chúng không có câu trả lời theo thứ tự tương ứng. Nhưng chúng tôi có thể chắc chắn rằng không có hai câu hỏi nào có câu trả lời giống nhau.

Công việc của chúng ta bây giờ là viết một hàm lấy hai mảng này, kiểm tra chúng để tìm giá trị chung và tìm tất cả các phần tử chung giữa chúng và sau đó tính tỷ lệ phần trăm của ứng viên dựa trên số lượng các câu trả lời phổ biến.

Hãy viết mã cho chức năng này -

Ví dụ

const correct = ['India', 'Japan', 56, 'Mount Everest', 'Nile', 'Neil
Armstrong', 'Inception', 'Lionel Messi', 'Joe Biden', 'Vatican City'];
const answered = ['Nile', 'Neil Armstrong', 'Joe Biden', 'Mount Everest',
'Vatican City', 'Inception', 'Japan', 56, 'China', 'Cristiano Ronaldo'];
const findPercentage = (first, second) => {
   const count = first.reduce((acc, val) => {
      if(second.includes(val)){
         return ++acc;
      };
      return acc;
   }, 0);
   return (count / first.length) * 100;
};
console.log(`Candidate have scored ${findPercentage(correct,
answered)}%`);

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

Candidate have scored 80%