Skip to content

Instantly share code, notes, and snippets.

@bstaykov
Created May 14, 2014 15:03
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 bstaykov/2051dd74f3ba8d045720 to your computer and use it in GitHub Desktop.
Save bstaykov/2051dd74f3ba8d045720 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Using Objects</title>
</head>
<body>
<script>
function exercise6() {
// Exercise 06
var persons = [{firstname: 'Gosho', lastname: 'Petrov', age: 24 }, { firstname: 'Ivan', lastname: 'Minov', age:21 },{ firstname: 'Ivan', lastname: 'Petrov', age: 22 }, { firstname: 'Bay', lastname: 'Ivan', age: 23 }, { firstname: 'Ivan', lastname: 'Todorov', age: 21 }, { firstname: 'Gosho', lastname: 'Todorov', age: 24 }, { firstname: 'Bay', lastname: 'Dragan', age: 22 }];
function groupPersons(array, groupBy) {
var groupedArr = {};
for (var i in array) {
var person = array[i];
var group = person[groupBy];
if (!groupedArr[group]) {
groupedArr[group] = []; //create key
}
groupedArr[group].push(person); // add to key
}
return groupedArr;
}
var groupedArray = groupPersons(persons, 'age');
for (var i in groupedArray) {
var arr = groupedArray[i];
for (var j in arr) {
var personIs = arr[j];
console.log(personIs.firstname + ' ' + personIs.lastname + ' ' + personIs.age);
}
}
}
exercise6();
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment