为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript:函数返回 0 而不是出现奇数次的数字

Javascript:函数返回 0 而不是出现奇数次的数字

RISEBY 2022-10-21 11:00:18
我正在尝试解决来自Codewars的挑战,您必须在数组中找到出现奇数次的数字。我修改了答案以返回出现奇数次且最频繁的数字。但它总是导致 0counts={};function findOdd(A) {    for (var i=0; i<A.length; i++){      if ((typeof counts["a" + toString(A[i])]) !== 'undefined'){        counts["a" + toString(A[i])]++;      }      else{        counts["a" + toString(A[i])]=1;      }    }    max = 0;    for (a in counts){      if (counts[a]>max && counts[a]%2!==0){        max = counts[a]      }    }    return max;}var testArray=[];for (var i =0; i<100; i++){    testArray.push(Math.ceil(Math.random()*100))}console.log(findOdd(testArray));
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

问题出在 toString() 中。这不是一个普通的全局函数,但它实际上是window.toString().

您实际上并不需要toString()使用它的情况,Javascript 会自动将值转换为字符串,例如:

'a' + 5; // equals 'a5'.


查看完整回答
反对 回复 2022-10-21
  • 1 回答
  • 0 关注
  • 51 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信