我正在尝试执行以下代码:
function oldestAges(ages){
if (ages == []){
return [0,0];
}else{
var max = Math.max.apply(null, ages);
ages.splice(ages.indexOf(max), 1);
var max2 = Math.max.apply(null, ages);
return [max2,max];
}
}
但是,将[]作为年龄进行测试时,预期值为'[0,0]',而是:'[-Infinity,-Infinity]'
此外,有没有更简单的方法来完成相同的任务?我问,因为使用R可以以更少的行数获得相同的结果。我对JavaScript仍然不满意。
最佳答案
一种简单的方法(不确定最佳方法)来实现此目的:
const input = [5, 150, 2, 8, 58, 4];
const result = input.sort((x, y) => y - x).slice(0, 2);
console.log(result);
关于javascript - 使用javascript获取数组的第一和第二最高值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52598471/