Skip to content

Instantly share code, notes, and snippets.

@agadev
Created October 20, 2016 11:56
Show Gist options
  • Save agadev/ce61089abd160f635a35882230588daa to your computer and use it in GitHub Desktop.
Save agadev/ce61089abd160f635a35882230588daa to your computer and use it in GitHub Desktop.
Test file for Average and Sort from a given array of objects
// lets assume myObject is array of objects
let myObject = [
{name:"a",ranking:4},
{name:"b",ranking:6},
{name:"c",ranking:5},
{name:"d",ranking:3}
];
// I am assumping all data is not validated before,
// hence checking for number
// Using ES6 and array reduce function
const average = arr => arr.reduce((total, current) =>
total + (isNaN(current.ranking)? 0:current.ranking), 0) / arr.length;
//alert("average is "+average(myObject));
// Average Using for Loop
function averageUsingLoop(array) {
var total = 0;
for ( var i = 0; i < array.length; i++ ){
if(!isNaN(array[i].ranking)) {
total += array[i].ranking;
}
}
return total/array.length;
};
//alert("average using loop is "+averageUsingLoop(myObject));
// Using function to provide custom sort
let sortedObj = myObject.sort(function(a, b) {
return (a.ranking<b.ranking?-1:(a.ranking>b.ranking?1:0));
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment