JSFiddle - React, Tailwind, and code Playground

JavaScript

var obj1 = {
    "groupsIBelongTo": ["A", "B"]
};

var obj2 = {
    "groupsIBelongTo": ["B", "C"]
};

var obj3 = {
    "groupsIBelongTo": ["A", "C"]
};

var groups = [{
    "groupName": "B",
        "objs": [obj1, obj2]
},

{
    "groupName": "A",
        "objs": [obj1, obj3]
},

{
    "groupName": "C",
        "objs": [obj2, obj3]
}]

var sortOrder = ['B', 'A', 'C'];
var objArray = [obj1, obj2, obj3];

var map = objArray.reduce(function(hash, item) {
    item['groupsIBelongTo'].forEach(function(group) {
        hash[group] = hash[group] || [];
        hash[group].push(item);
    });
    return hash;
}, {});

var result = sortOrder.map(function(group) {
    return {
        'groupName': group,
        'objs': map[group]
    };
});

console.log(result);