Skip to content

Instantly share code, notes, and snippets.

@ChelseaSkovgaard
Created February 25, 2017 16:17
Show Gist options
  • Save ChelseaSkovgaard/dc85e6c0ce35cd5061f3f4a556380e27 to your computer and use it in GitHub Desktop.
Save ChelseaSkovgaard/dc85e6c0ce35cd5061f3f4a556380e27 to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/diqajocuwi
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
let students = [
{ name: "Jane", module: "4FE", track: "frontEnd" },
{ name: "Jane", module: "3FE", track: "frontEnd" },
{ name: "Jane", module: "3BE", track: "backEnd" },
{ name: "Jane", module: "4FE", track: "frontEnd" },
{ name: "Jane", module: "2BE", track: "backEnd" },
{ name: "Jane", module: "3BE", track: "backEnd" }
];
Array.prototype.groupBy = function(key) {
return this.reduce((acc, item) => {
if (!acc[item[key]]) {
acc[item[key]] = []
}
acc[item[key]].push(item)
return acc
}, {})
}
console.log(students.groupBy('track'));
</script>
<script id="jsbin-source-javascript" type="text/javascript">let students = [
{ name: "Jane", module: "4FE", track: "frontEnd" },
{ name: "Jane", module: "3FE", track: "frontEnd" },
{ name: "Jane", module: "3BE", track: "backEnd" },
{ name: "Jane", module: "4FE", track: "frontEnd" },
{ name: "Jane", module: "2BE", track: "backEnd" },
{ name: "Jane", module: "3BE", track: "backEnd" }
];
Array.prototype.groupBy = function(key) {
return this.reduce((acc, item) => {
if (!acc[item[key]]) {
acc[item[key]] = []
}
acc[item[key]].push(item)
return acc
}, {})
}
console.log(students.groupBy('track'));</script></body>
</html>
let students = [
{ name: "Jane", module: "4FE", track: "frontEnd" },
{ name: "Jane", module: "3FE", track: "frontEnd" },
{ name: "Jane", module: "3BE", track: "backEnd" },
{ name: "Jane", module: "4FE", track: "frontEnd" },
{ name: "Jane", module: "2BE", track: "backEnd" },
{ name: "Jane", module: "3BE", track: "backEnd" }
];
Array.prototype.groupBy = function(key) {
return this.reduce((acc, item) => {
if (!acc[item[key]]) {
acc[item[key]] = []
}
acc[item[key]].push(item)
return acc
}, {})
}
console.log(students.groupBy('track'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment