dc65k,
<script>
const array = [
{name: 'prop1', title: 'title1'},
{name: 'prop2', title: 'title2'},
{name: 'prop3', title: 'title3'},
{name: 'prop1', title: 'title4'},
{name: 'prop1', title: 'title5'},
];
const f = a => a.reduce((a, b) => {
let {name} = b;
if (!a[name]) a.accumulator.push({[name]: a[name] = []});
a[name].push(b);
return a;
}, {accumulator: []}).accumulator;
let a = f(array);
document.write(`<pre>${JSON.stringify(a, "", 1)}</pre>`)
</script>