DEV Community

miku86
miku86

Posted on

Diary - 2018.08.30

Most of the time, I wrote "clever" code.
At best, a one-liner.
Easy to create with some functional JavaScript.

const f = (o) => o.reduce((a, { b, c }) => [...a, ...(c ? [b * 3] : [])], []);

console.log(
  f([
    { b: '1', c: true },
    { b: '2', c: false },
    { b: '3', c: true },
    { b: '4', c: true },
  ]),
);
Enter fullscreen mode Exit fullscreen mode

Today I found this code in my archives.
I gave it to a friend and he was like ":-(".
He has some basic JS knowledge and said,
that he can't understand it.

I re-wrote my code to this:

// array for all option objects
const options = [
  { value: '1', assigned: true },
  { value: '2', assigned: false },
  { value: '3', assigned: true },
  { value: '4', assigned: true },
];

const filter = options
  // only use option objects that have a truthy assigned value
  .filter((option) => option.assigned)
  // take the option value and multiply it with 3
  .map((option) => option.value * 3);

console.log(filter);
Enter fullscreen mode Exit fullscreen mode

To close this learning, I've found something in my notes:
Never ever write "clever" code to increase your ego. Write simple code, so that you and all readers do understand it.

Top comments (0)