Skip to content

Instantly share code, notes, and snippets.

@yashikagarg13
Created May 27, 2016 12:24
Show Gist options
  • Save yashikagarg13/8caf498901ddfbd0f943c7ed8c13d978 to your computer and use it in GitHub Desktop.
Save yashikagarg13/8caf498901ddfbd0f943c7ed8c13d978 to your computer and use it in GitHub Desktop.
var R = require("ramda");
//
// get top 3 vetted Frontend Developers names,
// who completed hackerrank with the score >=90
// ordered by rate: from lower to higher.
var hackerrankResults = [
{hackerrank: 90, name: "Maria", category: "Frontend", vetted: true, rate: "1000"},
{hackerrank: 20, name: "Maria", category: "Frontend", vetted: true, rate: "1000"},
{hackerrank: 100, name: "Maria", category: "Frontend", vetted: true, rate: "1000"},
{hackerrank: 100, name: "Galina", category: "Frontend", vetted: true, rate: "2000"},
{hackerrank: 95, name: "Olga", category: "Frontend", vetted: true, rate: "3000"},
{hackerrank: 65, name: "Ira", category: "Frontend", vetted: true, rate: "3000"},
{hackerrank: 100, name: "Vika", category: "Frontend", vetted: false, rate: "1000"},
{hackerrank: 100, name: "Nadya", category: "Backend", vetted: true, rate: "1000"},
];
var results = R.pipe(
R.filter(hr => hr.vetted && hr.category == "Frontend" && hr.hackerrank >= 90),
R.uniqBy(R.prop("name")),
R.sort((item1, item2) => item1 - item2),
R.slice(0, 3),
R.map(hr => hr.name)
)(hackerrankResults);
console.log(results);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment