Comment

Comment by ablomen

In this example it is, but a nice thing about using map, reduce etc is that you can chain them together, ex:

  let out = ["a", "b", "c", 1, 2, 3]
  	// Turn letters to upper case
  	.map(i => {
  		return typeof i === "string"
  			? i.toUpperCase()
  			: i;
  	})
  	// Add one to numbers
  	.map(i => {
  		return typeof i === "number"
  			? i + 1
  			: i;
  	})
  	// split letters and numbers up
  	.reduce((all, i) => { 
  		typeof i === "string"
  			? all.letters.push(i)
  			: all.numbers.push(i);
  		return all;
  	}, { "letters": [], "numbers": [] });
  // => { letters: ["A", "B", "C"], numbers: [2, 3, 4] }
parent ablomen 9 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton