Back to 30 Seconds Of Code

Hamming distance implementation in JavaScript

content/snippets/js/s/hamming-distance.md

14.0.0726 B
Original Source

The Hamming distance is a measure of the difference between two strings of equal length. It is calculated by counting the number of positions at which the corresponding characters differ.

@Quick refresher

Implementing it in JavaScript is pretty straightforward, using the XOR operator (^) to find the bit difference between two numbers. We then convert the result to a binary string, using Number.prototype.toString(), and count the number of 1s in it, using String.prototype.match().

js
const hammingDistance = (num1, num2) =>
  ((num1 ^ num2).toString(2).match(/1/g) || '').length;

hammingDistance(2, 3); // 1