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