ES2015 is fun and allows you to write more concise Javascript.

Here’s how to cycle an array of values. Use it to zebra stripe a table or whatever:

function cycle (...args) {
  return (i) => args[i % args.length]

And we can still make it shorter:

const cycle = (...args) => (i) => args[i % args.length]

Use it in React like this:

function Table ({ posts }) {
  const cls = cycle('odd', 'even')

  return <table>
    {, i) => (
      <tr key={i} className={cls(i)}>

Compare it to regular ES5:

function cycle () {
  var args =

  return function (i) {
    return args[i % args.length]

Not that much longer but definitely less fun. We can have fun.