【发布时间】:2016-05-14 11:52:28
【问题描述】:
如果有人可以帮助我解决我的问题,我会很高兴:
我正在尝试从 nums 数组中删除当前的最大数量,但无法完成。
function getNthLargestNum(nums, nth) {
debugger;
var maxNums = [];
for (var i = 0; i < nth; i++) {
var nthMax = 0;
var maxTemp = 0;
for (var j = 0; j < nums.length; j++) {
if (maxTemp < nums[j]) {
maxTemp = nums[j];
//splice();
}
}
nums.splice(maxTemp, maxTemp[j]);
maxNums.push(maxTemp);
}
nthMax = maxTemp;
return nthMax;
}
var nums = [4, 5, 6, 8, 40, 60, 54, 32, 8, 1];
//var nums = [4 , 5 , 6 , 8 , 40 , 3 , 8 , 1];
var res = getNthLargestNum(nums, 3);
``
console.log(res);
【问题讨论】:
-
不清楚您的预期输出是什么。您的数组是否必须保持相同的顺序,因为如果没有,还有更简单的方法。
-
请添加想要的输出。
-
maxTemp[j]毫无意义。maxTemp是一个数字,而不是一个数组。 -
getNthLargestNum在问题的上下文中也没有意义。您是打算退回它们还是删除它们? -
对不起,我需要得到第三大数字,即:40 在此代码中,