The hashing function is the secret to efficiently storing and retrieving values in a hash table. A hashing function takes a value, passes it through a formula, and produces a result called a hash.
This function is said to be deterministic. That means the hashing function must always return the same value when given the same key. This is important because we will need to hash the key again later to retrieve the stored value. We won’t be able to do this unless our hashing function behaves in a predictable and consistent way.
Fortunately, Swift provides a
hashValue computed property for types that conform to
Hashable. Many types in the standard library conform to
Hashable, to include Strings, Integers, and Boolean values.
Create a private method,
index(for:) with an argument label of
for and a String parameter called
index(for:), return the positive value of the String’s
hashValue. Remove the commented lines inside the
testIndex() function and run the code.