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);