Skip to content

Instantly share code, notes, and snippets.

@neysimoes
Created December 3, 2018 18:37
Show Gist options
  • Save neysimoes/4753abbb106845ea1254ecc9467c969f to your computer and use it in GitHub Desktop.
Save neysimoes/4753abbb106845ea1254ecc9467c969f to your computer and use it in GitHub Desktop.
let users = [{
name: 'John Foo',
email: 'johnfoo@test.com'
},
{
name: 'Ary Blee',
email: 'aryblee@test.com'
},
{
name: 'Aston Martin',
email: 'astommartin@test.com'
},
{
name: 'Lorem Ipsum',
email: 'loremipsum@test.com'
}];
let sortedUsers = [];
function sortNext(users, sortedUsers) {
let owner = {};
let randomIndex = null;
if(sortedUsers.length === 0) {
randomIndex = Math.floor((Math.random() * users.length));
owner = users.splice(randomIndex, 1)[0];
} else {
owner = sortedUsers[sortedUsers.length - 1].sorted;
}
randomIndex = Math.floor((Math.random() * users.length));
var sorted = users.splice(randomIndex, 1)[0];
sortedUsers.push({
owner: owner,
sorted: sorted
})
if(users.length === 0) {
sortedUsers.push({
owner: sorted,
sorted: sortedUsers[0].owner
});
return false;
}
sortNext(users, sortedUsers);
};
sortNext(users, sortedUsers);
console.log(sortedUsers);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment