Skip to content

Instantly share code, notes, and snippets.

@brauliodiez
Created June 4, 2017 09:07
Show Gist options
  • Save brauliodiez/41b8ef81b6da7708e09e5eb50d7fd47e to your computer and use it in GitHub Desktop.
Save brauliodiez/41b8ef81b6da7708e09e5eb50d7fd47e to your computer and use it in GitHub Desktop.
Simple ES6 'map' sample

map

Map allows us to apply an operation to each item of an array, returning a new array that contains the items with the operation applied.

This can save us lot of "for" loops (enhannce readibility).

steps

Let's implement a function that will apply a discount all the elements of a given array.

Usually we would do something like:

const sales = [20, 30 ,25];


function applyDiscount(sales, discount) {
  let discountedSales = [];

  for(let i=0;i< sales.length;i++) {
    discountedSales.push(sales[i] * (1 - (discount / 100)));
  }
  
  return discountedSales;
}

console.log(applyDiscount(sales, 10));

By Using map:

const sales = [20, 30 ,25];

function applyDiscount(sales, discount) {
  return sales.map((sale) => sale * (1 - (discount / 100))
}

console.log(applyDiscount(sales, 10));
const sales = [20, 30 ,25];
function applyDiscount(sales, discount) {
let discountedSales = [];
for(let i=0;i< sales.length;i++) {
discountedSales.push(sales[i] * (1 - (discount / 100)));
}
return discountedSales;
}
console.log(applyDiscount(sales, 10));
const sales = [20, 30 ,25];
function applyDiscount(sales, discount) {
return sales.map((sale) => sale * (1 - (discount / 100))
}
console.log(applyDiscount(sales, 10));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment