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);