Функция подсчета нечетных и четных чисел - PullRequest
0 голосов
/ 31 августа 2018

Я хочу предоставить функцию, которая будет возвращать объект с нечетными и четными числами. Пример: 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 голосов
/ 31 августа 2018

Я думаю, что проще

function parseNum(num) {
    const odd = Math.floor(num / 2);
    const even = num - odd;
    return {
        odd,
        even
    }
}
0 голосов
/ 31 августа 2018

Ваш ответ не работает, потому что число не повторяется, вы должны сначала привести его к строке.

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...