找出数组中第k大的数组出现多少次,比如数组【1,2,4,4,3,5】第二大的数字是4,出现两次,所以返回2
function getNum(arr, k){
// 数组排序 从大到小
arr.sort((a, b)=>{ // 返回排序后的新数组
return b-a;
//console.log(arr);
});
let uniqarr = Array.from(new Set(arr)); // 数组去重
//console.log(uniqarr);
let tar = uniqarr[k-1];// 找到目标元素
//console.log(tar);
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 num;
}
let arr = [1,2,4,4,3,5];
console.log(getNum(arr, 2));