如何在 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%

更新於:2020 年 8 月 28 日

347 次瀏覽

開啟你的 職業生涯

完成課程並獲得認證

開始
廣告