题目:班级里有一群学生考试结果出来了,考了语文和数学两门,请筛选出总分是第一的同学
要求:
1.数据类型自己定义,能筛选出来即可
2.总分相同的情况下,算是并列第一需要 都筛选出来
const arr = [
{id: 1, name: '小张', language: '98', math: '100'},
{id: 2, name: '小李', language: '90', math: '98'},
{id: 3, name: '张三', language: '98', math: '100'},
{id: 4, name: '李四', language: '90', math: '97.5'},
{id: 5, name: '王五', language: '99', math: '99'},
{id: 6, name: '赵六', language: '78', math: '88'}
];
let topArr = [];
for (let i = 1; i < arr.length; i++) {
if ((arr[i].language + arr[i].math) > (arr[i - 1].language + arr[i - 1].math)) {
topArr.push(arr[i])
} else if ((arr[i].language + arr[i].math) == (arr[i - 1].language + arr[i - 1].math)) {
topArr.push(arr[i], arr[i - 1])
} else {
topArr.push(arr[i - 1])
}
}
console.log(new Set(topArr));//通过new Set()进行去重
链接: 数组去重的方法