Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะเปรียบเทียบสองอาร์เรย์เพื่อดูจำนวนองค์ประกอบที่เหมือนกันใน JavaScript ได้อย่างไร


สมมติว่า เรามีอาร์เรย์สองชุด อาร์เรย์หนึ่งมีสตริงคำตอบที่ถูกต้องของคำถามบางข้อ และอีกชุดประกอบด้วยคำตอบที่ผู้สมัครพยายาม แต่อย่างใดอาร์เรย์ก็ถูกสับเปลี่ยน และตอนนี้พวกเขาไม่มีคำตอบตามลำดับที่ตรงกัน แต่เรามั่นใจได้ว่าไม่มีคำถามสองข้อที่มีคำตอบเหมือนกัน

งานของเราคือเขียนฟังก์ชันที่ใช้อาร์เรย์ทั้งสองนี้ ตรวจสอบองค์ประกอบร่วม และค้นหาองค์ประกอบทั่วไปทั้งหมดระหว่างอาร์เรย์ จากนั้นคำนวณเปอร์เซ็นต์ของผู้สมัครตามจำนวนคำตอบทั่วไป

มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

ตัวอย่าง

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)}%`);

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

Candidate have scored 80%