The mental model doesn’t really jive with circularity since arr[arr.length] is not the same as arr[0] in any language that I know of. With a circle, you would expect that arr[0], arr[length], and arr[2*length] are all identical.
Re:Teaching the Unfortunate Parts
by jniedrauer on Monday December 28, 2020 @07:59PM
(#25565356)
You can also think of negative indexes as a shorthand for length-N. arr[-1] is the same as arr[len(arr)-1].
I’m still in agreement that negative indices make it more confusing than just calculating based off the length, but I get why they exist.