My Bash Prompt customization

14:34 gengns@mycomputer  Desktop$ ▮

Open a console in your HOME folder and type vim .bashrc, then copy the next line at the end of the file:

PS1='\[\e[30;47m\]\A \u@\h \W\[\e[0m\]$ '
  • \[\e[30;47m\] # 30 is black foreground color and 47 is light grey background
  • \A # hour in hh:mm format
  • \u # user name
  • \h # host name
  • \W  # working folder name
  • \[\e[0m\] # reset

More info: customization and colors in Bash

Flattening arrays of objects

Starting from the previous example we are going to flatten arrays of objects with 3 method:

  • map with join
  • forEach with concat
  • forEach with push


We are trying to do it in a functional way, clearer and shorter. The more (nested) elements you have, the better the map option will be versus forEach with concat. If we are looking for the fastest option, a classical for with push will be the best one as JapanFever said and the worst a forEach with concat.

Just launch these basic test I made in jsPerf and try yourself:

https://jsperf.com/map-with-join-vs-foreach-with-concat

https://jsperf.com/flattening-arrays-of-objects

The more (nested) elements you have, the more equal the forEach will be comparing with the classical for.

JavaScript engines performance are improving constantly and I hope to see a better way to flatten using map xD

 

Nesting arrays of objects

Array without duplicate values

HTML input with units