Comment

Comment by yjhoney

I teach a JS coding class and I had the luxury of creating the curriculum. To the horror of my peers, I decided that coding with loops was not necessary for beginners and got rid of loops altogether from our curriculum. I thought OP was proposing the same thing, but I was wrong. the refactoring was good, but my students will probably end up with the following result (more in line with your no loops title):

```

function highlightProducts(aListOfProducts, i=0){

  if (i === aListOfProducts.length) return null

  if(productShouldBeHighlighted(product)){

    product.highlighted = true

  }

  return highlightProducts(aListOfProducts, i + 1)
}

```

The added benefit of the above approach is that debugging is easier! If you want to debug the last 5 items, you can simply call the function like this:

highlightProducts(aListOfProducts, aListOfProducts.length – 5)

Ultimately, though, everyone should be using higher order functions (map, reduce filter, find, etc.)

parent yjhoney 7 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton