先端アルゴリズムの問題:配列の中でk番目の大きい数字を探して何回現れますか?


テーマ:一次元配列を指定します.例えば、[1,2,4,4,3,5]のように、配列の中でk番目に大きい数字が何回現れますか?
例えば、2番目の大きな数は4で、2回現れて、最後に4、2を出力します.
function getNum(arr, k){
    //     ->    
    arr.sort((a, b)=> (b-a));
    let uniqarr = Array.from(new Set(arr));  //     
    let tar = uniqarr[k-1];                  //       
    let index = arr.indexOf(tar);            //     
    let num;                                 //                   

    if(k == uniqarr.length){                 //                 (    )
        num = arr.length - index;
    }else{
        let indexnext = arr.indexOf(uniqarr[k]);    
        num = indexnext - index;
    }
    return ([tar, num]);
}

let arr = [1,2,4,4,3,5];
console.log(...getNum(arr, 2));