Skip to content

Instantly share code, notes, and snippets.

@farynaio
Last active October 8, 2018 17:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save farynaio/ac52085387504d13ddabe43926fa3aee to your computer and use it in GitHub Desktop.
Save farynaio/ac52085387504d13ddabe43926fa3aee to your computer and use it in GitHub Desktop.
Javascript Objects by Rank
function objectsByRanking(data) {
return data.sort(function(a, b) { return a.ranking - b.ranking; })
}
function averageRanking(data) {
return data.reduce(
function(prev, curr) { return { ranking: prev.ranking + curr.ranking }; }, { ranking: 0 }
).ranking / data.length;
}
function Item(name, ranking) {
this.name = name;
this.ranking = ranking;
}
var array = [
new Item('ala', 6),
new Item('ma', 8),
new Item('kota', 9),
new Item('zuzia', 7),
new Item('posiada', 5),
new Item('pieska', 1),
new Item('kasia', 2),
new Item('ma', 3),
new Item('duza', 10),
new Item('papuge', 4)
];
console.log('Objects by ranking:');
objectsByRanking(array).forEach(function(item) {
console.log(item.name + ' ' + item.ranking);
});
console.log('\nAverage rank: ' + averageRanking(array));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment