查找出现奇数次的元素

pad*_*wan 4 javascript arrays integer for-loop

我正在尝试解决这个寻找在数组中出现奇数次的数字的练习。到目前为止,我已经有了这个,但输出最终是一个出现偶数次的整数。例如,数字 2 出现了 3 次,数字 4 出现了 6 次,但输出是 4,因为它算作出现了 5 次。它怎么会返回它发现为奇数的第一个集合?任何帮助表示赞赏!

         function oddInt(array) {
         var count = 0;
         var element = 0;
         for(var i = 0; i < array.length; i++) {
           var tempInt = array[i];
           var tempCount = 0;
             for(var j = 0; j <array.length; j++) {
                if(array[j]===tempInt) {
                tempCount++;
                  if(tempCount % 2 !== 0 && tempCount > count) {
                  count = tempCount; 
                  element = array[j];
                }
               }
              }
             }
           return element;
           }
           oddInt([1,2,2,2,4,4,4,4,4,4,5,5]);
Run Code Online (Sandbox Code Playgroud)

小智 6

function findOdd(numbers) {
  var count = 0;
  for(var i = 0; i<numbers.length; i++){
    for(var j = 0; j<numbers.length; j++){
      if(numbers[i] == numbers[j]){
        count++;
      }
    }
    if(count % 2 != 0 ){
      return numbers[i];
    }
  }
};

console.log(findOdd([20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5])); //5
console.log(findOdd([1,1,1,1,1,1,10,1,1,1,1])); //10
Run Code Online (Sandbox Code Playgroud)