Today I ran into some React code:
range(count).map((i) => <Component key={i} />)
Problem: Sometimes <Component> renders when it’s not supposed to.
Why?
Because when count equals a negative number, range() returns a non-empty array.
range(-3) = [0,-1,-2]
range(-2) = [0,-1]
range(-1) = [0]
range(0) = []
range(1) = [0]
range(2) = [0,1]
range(3) = [0,1,2]