Death of the for loop

Originally published on Medium - 3rd April 2018

So I was hit with a revelation recently. I haven’t written a for loop in months. Is this the end of it? Has it been replaced with functions like map, filter and find? Well, no, but definitely a reduced need.

Functional programming ideas are definitely leaking into everyday languages. First class functions definitely are a big part of this.

Take a React example. If I have a list of items, I’ll typically end up with code such as (written in TypeScript):-

<ul>
   {names.map((name: string) => <li key={name}>{name}</li>)}
</ul>

The alternative is:-

output(‘<ul>’);
for (let i = 0; i < names.length; i++) {
   output(`<li key=”${names[i]}”>${names[i]}</li>`);
}
output(‘</ul>’);

Something where I’d normally only show certain values, now use filter along with map.

<ul>
   {
      names
         .filter((name: string) => name.length > 2)
         .map((name: string) => <li key={name}>{name}</li>)
   }
</ul>

I know which I prefer…