public uint hash ()
Calculates a hash value for the given `key`.
The hash is calculated over the array and all its elements, recursively.
If the array is immutable, this is a fast operation; otherwise, it scales proportionally with the length of the array.
a JSON array to hash
hash value for the key