JSFiddle - React, Tailwind, and code Playground

JavaScript

var people = ['John', 'Jane', 'Harry', 'Mark', 'Steph', 'Mae']
var generatedPairs = [];
var arr1 = people.slice(),
    arr2 = people.slice();
arr1.sort(function() { return 0.5 - Math.random();});
arr2.sort(function() { return 0.5 - Math.random();});

while (arr1.length) {
  let pair = [];
  var name1 = arr1.pop();
  var name2 = arr2[0] == name1 ? arr2.pop() : arr2.shift();
  pair.push({from: name1, to: name2});
  generatedPairs.push(pair);
}
console.log(generatedPairs);