繁体   English   中英

计算奇数和偶数功能问题

[英]Counting odd and even numbers function issue

我想提供将返回带有奇数和偶数的对象的函数。 示例:parseNum(12345)//对象{奇数:3,偶数:2}。 我有我的代码,但是我不明白为什么它不起作用。 问题出在哪儿?

function parseNum(num) {
  var obj = {
    odd: 0,
    even: 0
  };

  var arr = Array.from(num);
  arr.forEach(function(value) {
    if (value % 2 === 0) {
      obj.odd += 1;
    } else {
      obj.even += 1;
    }
  });

  return obj;
}

您的答案不起作用,因为数字不可迭代,因此应首先将其转换为字符串。

function parseNum(num) {
  var obj = {
    odd: 0,
    even: 0
  };
  if (typeof num === 'number') {
     num = num.toString();
  }
  var arr = Array.from(num);
  arr.forEach(function(value) {
    if (value % 2 === 0) {
      obj.odd += 1;
    } else {
      obj.even += 1;
    }
  });

  return obj;
}

我觉得比较容易

function parseNum(num) {
    const odd = Math.floor(num / 2);
    const even = num - odd;
    return {
        odd,
        even
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM