剑指 Offer 56 - I. 数组中数字出现的次数

111 阅读1分钟

剑指 Offer 56 - I. 数组中数字出现的次数

用一个对象去记录遍历的值,如果之前没有的,则新增以当前遍历项item为key,值为当前遍历项的下表i,等后续遍历如果查询到了同样的值,则说明重复了,于是就删除之前已经存的重复的值,直到遍历最后一项,obj剩下的项目keys就是 满足条件的数组

var singleNumbers = function(nums) {
  var obj = {}
  var len = nums.length
  
  for(var i=0;i < len;i++){
      if(obj[nums[i]] !== undefined){
          delete obj[nums[i]]
      }else{
          obj[nums[i]] = i
      }
  }
  return  Object.keys(obj)
};