Javascript拼接方法问题与此有关

Javascript拼接方法问题与此有关,javascript,array-splice,Javascript,Array Splice,如果有人能帮我解决问题,我会很高兴: 我正在尝试从nums数组中删除当前最大数,但无法完成 函数getNthLargestNum(nums,nth){ 调试器; var maxNums=[]; 对于(变量i=0;i

如果有人能帮我解决问题,我会很高兴:

我正在尝试从nums数组中删除当前最大数,但无法完成

函数getNthLargestNum(nums,nth){ 调试器; var maxNums=[]; 对于(变量i=0;i控制台日志(res)splice()的参数是开始从中删除的数组索引和要删除的元素数
maxTemp
是一个数组值,而不是索引,anx
maxTemp[j]
完全没有意义,因为
maxTemp
不是数组

您需要使用另一个变量来保存找到最大元素的索引。每次更新
maxTemp
时,都会使用当前索引更新
maxIndex
。然后在拼接中使用这个

似乎不需要
maxNums
数组;你推着它,但永远不要用它做任何事。而
nthMax
在返回前只保留
maxTemp
的最后一个值——您只需返回
maxTemp
本身即可

函数getNthLargestNum(nums,nth){ 调试器; var-nthMax; 对于(变量i=0;i控制台日志(res)如果您只想返回第n个最大数字中的第一个,只需执行以下操作:

function getNthLargestNum(nums, nth) {
  return nums.slice(0).sort((a, b) => b - a)[nth - 1];
}

var nums = [4, 5, 6, 8, 40, 60, 54, 32, 8, 1];
getNthLargestNum(nums, 3); // 40

不清楚您的预期输出是什么。您的阵列是否必须保持相同的顺序,因为如果没有,还有更简单的方法。请添加所需的输出。
maxTemp[j]
毫无意义
maxTemp
是一个数字,而不是数组。
getNthLargestNum
在这个问题的上下文中也没有意义。您是要返回还是删除它们?对不起,我需要获取第三大数字,即:40,按此代码,