计算奇数和偶数功能的问题

时间:2018-08-31 16:16:50

标签: javascript arrays object

我想提供将返回带有奇数和偶数的对象的函数。示例: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;
}`

2 个答案:

答案 0 :(得分:1)

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

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;
}

答案 1 :(得分:0)

我认为这更容易

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