К сожалению, нет способа получить 100% гарантированную уникальность без использования всего содержимого массива в качестве вашего ключа.Большинство хороших некриптографических хэшей уменьшит коллизии только до величины, приемлемой для хорошей производительности в хэш-таблице, но вам все равно нужно проверить, что все содержимое совпадает.
Даже криптографический хеш, такой как SHA-1или MD5 все еще может иметь коллизии, но в большинстве случаев это крайне маловероятно.Если это достаточно хорошо, я бы, вероятно, пошел с SHA-1.В противном случае я бы преобразовал массив в строку для использования в качестве ключа и позволил бы JavaScript беспокоиться о хешировании и коллизиях.
В любом случае, вы, вероятно, торгуете производительностью (нативное хеширование, которое JavaScript делает, вероятно,быть намного быстрее, чем все, что вы можете написать в JavaScript) и, возможно, абсолютно корректно для пространства.
Кроме того, независимо от того, выполняете ли вы хэширование самостоятельно или позволяете JavaScript делать это, будьте осторожны с тем, как выпреобразовать массив в строку, так как простая конкатенация может быть не уникальной (даже с разделителем).