Created
December 3, 2018 18:37
-
-
Save neysimoes/4753abbb106845ea1254ecc9467c969f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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