JS записать массив в объект

пол дня пытаюсь записать массив в объект, но корректно не получается.

Дано:

const numbers = [1, 2, 3, 4, 5, 6];

Требуется отделить четные от нечетных и вернуть объект вида:

{ even: [2, 4, 6], odd: [1, 3, 5] }

Что удалось сделать:

function separateArray(array) {
  var e = array.filter(i => i % 2 == 0); // получил массив с четными
  var o = array.filter(i => i % 2 !== 0); // получил массив с нечетными

  var oString = o.join(', '); //сделал строку из массива с нечетенми для примера

  var goal = new Object(); // сделал целевой объект
  goal.even = e; // значение ключа массив --- не отображается
  goal.odd = oString; // значение ключа строка --- отображается, но без квадраных скобок

  console.log(goal);
  alert(goal);
}

Результат сейчас:

{even: Array(3), odd: '1, 3, 5'}

Ответы (1 шт):

Автор решения: Евгений Колмак

Например такой вариант

const numbers = [1, 2, 3, 4, 5, 6];

const separateArray = coll => {
  const result = {
    even: [],
    odd: []
  }

  coll.forEach(num => {
    num % 2 === 0 ? result.even.push(num) : result.odd.push(num)
  })

  return result;
}

console.log(separateArray(numbers));

→ Ссылка