如何在 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%
广告
数据结构
联网
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP