Functional JS

Higer order functions

by bhupendra negi

JavaScript

// collection

var cars = [{
  name: "ecosport",
  type: "mini-suv"
}, {
  name: "i30",
  type: "hatchback"
}, {
  name: "polo",
  type: "hatchback"
}, {
  name: "vento",
  type: "sedan"
}];

// filter 
var newCars = cars.filter(function(car) {
  return car.type === "hatchback"
});

// more simpler;
var isHatchback = function(car) {
  return car.type === "hatchback"
};
//console.log(cars.filter(isHatchback));

// map 
var mapCars = cars.map(function(car) {
  return car.name + " is type of " + car.type;
})
console.log(mapCars);

// reduce
var orders = [{
  amount: 20
}, {
  amount: 40
}, {
  amount: 60
}];
var sumOfOrders = orders.reduce(function(sum, order) {
  return sum + order.amount
}, 0); // staring value 
console.log(sumOfOrders)