当前位置:   article > 正文

JavaScript算法面试题:一个数组里面只有两个数出现一次,其他数出现偶数次,怎么找出这两个数?_js 一个数组中只有两个数字出现了一次

js 一个数组中只有两个数字出现了一次

写在前面:这种情况类似数组去重,接下来我就给大家介绍一下解决的方法

第一种方法:利用对象特有的属性解决,因为对象的属性具有唯一性,所以可以把数组中的数据转换为对象的属性进行操作

  1. var arr1=[1,2,3,4,1,2];
  2. function seachNum(arr){
  3. var obj={},
  4. result=[];
  5. for(var i=0;i<arr.length;i++){
  6. if(obj[arr[i]]){
  7. obj[arr[i]]++
  8. }else{
  9. obj[arr[i]]=1;
  10. }
  11. }
  12. for(var prop in obj){
  13. if(obj[prop]==1){
  14. result.push(prop);
  15. }
  16. }
  17. return result;
  18. }
  19. console.log(seachNum(arr1));

第二种方法:利用indexOf()和lastIndexOf()方法解决

  1. var arr1=[1,2,3,4,1,2];
  2. function seachNum(arr){
  3. var result=[];
  4. for(var i=0;i<arr.length;i++){
  5. if(arr.indexOf(arr[i])==arr.lastIndexOf(arr[i])){
  6. result.push(arr[i]);
  7. }
  8. }
  9. return result;
  10. }
  11. console.log(seachNum(arr1));

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/602437
推荐阅读
相关标签
  

闽ICP备14008679号