JSFiddle - React, Tailwind, and code Playground

HTML

<div>A-B</div>
<div>B-D</div>
<div>A-C</div>
<br />
<span class='putmehere'></span>
<br />
<br />
<span class='putmehere2'></span>

JavaScript

var totaldivs = $('div').length;                    //count total divs or objects
    console.log("Total divs = " + totaldivs);

var elements = [];                                  //Read objects from the divs and assign to array elements
for(var i = 0; i < totaldivs; i++ )
   {
    elements[i] = $( 'div:eq(' + i + ')' ).text();
    elements[i] = elements[i].replace(/\s+/g, '');
    console.log(elements[i]);
    }

var objects = [];                                   //make array of all individual objects
var loopvar = 0;
for(var n = 0; n < totaldivs; n++)
   {
    poshyphen    = elements[n].indexOf('-');
    objects[loopvar]   = elements[n].substring(0, poshyphen);
    objects[loopvar+1] = elements[n].substring(poshyphen+1, elements[n].length);
    loopvar = loopvar + 2;
    }
$('.putmehere2').html(objects);

var pair = [];
var pairindex = 0;                                  //make and array of all combinations of objects - pair
for(var r = 0; r < totaldivs; r++)
   {
    for(var s = 0; s <totaldivs; s++)
       { 
        if(elements[r] != elements[s])
          {
           pair[pairindex] = elements[r] + '-' + elements[s];
           pairindex++;
           }
        }
    }

$('.putmehere').html(pair);
var solution = [];
var sol = 0;
var count = [];
var reg = new RegExp("regex","g");

for( var q = 0; q < pair.length; q++)
   {
    for( var r = 0; r < 4; r++)
       {
        var regex = new RegExp( objects[r], 'g' );
        count[r] = (pair[q].match( regex )||[]).length;
        console.log("Pair= " + pair[q] + " Objects = " + objects[r] + " Count= " + count[r]);
        }
    if( count[0] == 1 && count[1] == 1 && count[2] == 1 && count[3] == 1 )
          {
              solution.push( pair[q]);
           }
   }

$('.putmehere2').html(solution);