/**
* 给你一个整数数组 nums 。数组中唯一元素是那些只出现 恰好一次 的元素。
* 请你返回 nums 中唯一元素的 和 。
*
* 示例 1:
* 输入:nums = [1,2,3,2]
* 输出:4
* 解释:唯一元素为 [1,3] ,和为 4 。
*
* 示例 2:
* 输入:nums = [1,1,1,1,1]
* 输出:0
* 解释:没有唯一元素,和为 0 。
*
* 解题思路:
* 1.用一个Object记录nums中每个元素与其出现的次数(nums[i]为key, 出现次数为value)
* 2.遍历Object,求value值为1的项的key的和
*/
/**
* @param {number[]} nums
* @return {number}
*/
var sumOfUnique = function(nums) {
if(nums.length == 1){
return nums[0];
}
var obj = {};
for(var i=0;i<nums.length;i++){
if(nums[i] in obj){
obj[nums[i]]++;
}else{
obj[nums[i]] = 1;
}
}
return Object.keys(obj).filter(v=>obj[v]==1).reduce((a,b)=>Number(a)+Number(b),0);
};
var nums = [1,2,3,2];
console.log(sumOfUnique(nums));