map, reduce, concat excample

by Porfirio Chavez

HTML

<p>

</p>

JavaScript

/**
Expected Output

[
   'frutas -> platano',
   'frutas -> manzana',
   'frutas -> naranja',
   'verduras -> zanahoria',
   'verduras -> calabaza',
   'verduras -> lechuga',
   'legumbres -> frijol',
   'legumbres -> lenteja',
   'legumbres -> haba'
]
**/

const entrada = [{
    category: 'frutas',
    elements: [
      'platano',
      'manzana',
      'naranja'
    ]
  },
  {
    category: 'verduras',
    elements: [
      'zanahoria',
      'calabaza',
      'lechuga'
    ]
  },
  {
    category: 'legumbres',
    elements: [
      'frijol',
      'lenteja',
      'haba'
    ]
  }
];

var par = document.getElementsByTagName("p")[0];
var text = entrada.map((input) =>
  input.elements.map(element => input.category + ' -> ' + element)
  ).reduce((current,next) => current.concat(next));
  
par.innerHTML = text;