JSFiddle - React, Tailwind, and code Playground

JavaScript

var o = [{
    mode: 'daily',
    id: '71',
    os: 'Win37'
}, {
    mode: 'daily',
    id: '45',
    os: 'Win37-1'
}, {
    mode: 'daily',
    id: '37',
    os: 'Win64'
}, {
    mode: 'daily',
    id: '86',
    os: 'Win37'
}, {
    mode: 'daily',
    id: '7',
    os: 'Win64'
}];

var neu = [];

for (var i = 0; i < o.length; i++) {
    var f = neu.filter(function(e, _) {
       return e.os === o[i].os;
    });   
    if (f.length) { 
        f[0].id.push(o[i].id)
    } else {
        neu.push({
            os: o[i].os,
            id: [o[i].id],
            mode: o[i].mode
        });
    }
}    
 
console.log(neu)