比方说,我们有两个数组,一个包含某些问题的正确答案字符串,一个包含候选人尝试的答案,但是不知何故,数组被打乱了,现在它们没有按相应顺序排列的答案。但是我们可以确定,没有两个问题的答案相同。
现在,我们的工作是编写一个函数,该函数接受这两个数组,检查它们是否包含公共元素,并找到它们之间的所有公共元素,然后根据公共答案的数量计算候选人的分数百分比。
让我们为该函数编写代码-
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%