思路:利用對象的key值具有唯一性,先計算出每個元素出現的個數爲對象1,再利用對象1中的鍵值組成新的對象2,比較兩個對象中鍵值名數組的長度得出結果。
/**
* @param {number[]} arr
* @return {boolean}
*/
var uniqueOccurrences = function(arr) {
if(arr === null) return true;
let obj = {}, obj2 = {};
for(let i=0;i<arr.length;i++){
if(obj[arr[i]]){
obj[arr[i]]++;
} else {
obj[arr[i]] = 1;
}
}
Object.values(obj).map(item => {
obj2[item] = item;
})
return Object.keys(obj).length === Object.keys(obj2).length;
};