pure chaining
by Tom M
JavaScript
let data = [
{
name: 'Butters',
age: 3,
type: 'dog'
},
{
name: 'Lizzy',
age: 6,
type: 'dog'
},
{
name: 'Red',
age: 1,
type: 'cat'
},
{
name: 'Joey',
age: 3,
type: 'dog'
},
];
//get ages of dogs only
//multiply ages by 7
//sum all of this up
let isDog = function(animal) {
return animal.type === 'dog';
}
let makeDogYears = function(animal) {
return animal.age * 7;
}
let sumYears = function(acca, animal) {
return acca + animal;
}
let result =
data
.filter(isDog)
.map(makeDogYears)
.reduce(sumYears);
console.log(result);