目录
查找数组高频的前X个元素
题目:给定一个非空整数数组,求出出现频率最高的前X个元素
function highXFrequency(arr, index = 1) {
let obj = {};
let symbolArr = [];
arr.map((val, i) => {
if (obj[val]) {
obj[val] = obj[val] + 1;
} else {
obj[val] = 1;
symbolArr.push(val);
}
});
symbolArr.sort((a, b) => obj[b] - obj[a]);
return symbolArr.splice(0, index);
}
测试一下:
const arr = [4, 4, 4, 1, 1, 2, 2, 2, 2];
console.log(highXFrequency(arr, 2)); // [2, 4]
Powered by Waline v2.15.5