返回数组JavaScript中的前两个元素
JavaScript中有一个数字数组,其中包含未排序顺序的数字。我们的工作是编写一个函数,该函数接受此数字数组并返回一个包含两个元素的数组,即该数组的顶部两个元素(该数组的最大两个元素)。
我们必须一次性执行此操作,即,我们需要在线性时间内执行此方法,例如仅使用一个for循环,或者如果使用ES6函数,则必须确保仅使用一次并避免使用嵌套的方法增加时间复杂度。
因此,现在让我们使用Array.prototype.reduce()方法编写代码-
示例
const arr = [23, 65, 67, 23, 2, 6, 87, 23, 45, 65, 3, 234, 3];
const topTwo = arr => {
if(arr.length < 2){
return false;
};
return arr.reduce((acc, val) => {
if(val > acc[0]){
let t = acc[0];
acc[0] = val;
acc[1] = t;
}else if(val > acc[1]){
acc[1] = val;
};
return acc;
}, [-Infinity, -Infinity]);
};
console.log(topTwo(arr));输出结果
控制台中的输出将为-
[ 234, 87 ]
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语