JavaScript 数组中元素出现的唯一次数
我们需要编写一个JavaScript函数,它接受一个整数数组作为第一个也是唯一的参数。
该函数应该是否出现在数组中的所有整数是否出现唯一的次数。
如果他们这样做,该函数应该返回true,否则返回false。
例如-
如果输入数组是-
const arr = [7, 5, 5, 8, 2, 4, 7];
那么输出应该是-
const output = false;
因为整数7和5都出现了2次。
我们将首先使用哈希映射将整数映射到它们frequencies(occurrences),然后使用该映射构建一个存储唯一频率的集合。
示例
以下是代码-
const arr = [7, 5, 5, 8, 2, 4, 7]; const uniqueAppearances = (arr = []) => { const map = {}; const set = new Set(); for(let i = 0; i < arr.length; i++){ const el = arr[i]; map[el] = (map[el] || 0) + 1; }; for(key in map){ const value = map[key]; if(set.has(value)){ return false; }; set.add(value); }; return true; }; console.log(uniqueAppearances(arr));输出结果
以下是控制台输出-
false