/**
* @param {number[]} nums
* @param {number} k
* @return {number[]}
*/
var topKFrequent = function(nums, k) {
let map = new Map();
let stack = [];
for(let num of nums) {
if(map.has(num)) {
map.set(num, map.get(num) + 1);
} else {
map.set(num, 1)
}
}
let sortedMap = new Map([...map.entries()].sort((a, b) => b[1] - a[1]));
for(let [key, value] of sortedMap) {
stack.push(key);
}
return stack.slice(0, k);
};