const arrayToObject = (array) => {
array.reduce(...
Надо добавить return
или убрать фигурные скобки.
{id: '1', content: 'Some stuff'},
obj[item._id] = item
Почему в первом случае у id подчёркивания нет, а во втором есть? - ведь это один и тот же id, вроде как.
как лучше решить задачу преобразования массива в такой объект?
Давайте решим задачу в более общем виде, пусть ключами будут не обязательно id, а произвольные значения - добавим второй параметр, функцию, которая принимает элемент массива и возвращает ключ, под которым данный элемент будет записан в объект:
const arrToObj = (arr, key) => arr.reduce((acc, n) => (acc[key(n)] = n, acc), {});
const obj = arrToObj(arr, n => n.id);