Sha256: 2bf39688fd6ee8c2698ae782b7ad64f0fceb962b3cd2e57226ee36028a87eb3a
Contents?: true
Size: 520 Bytes
Versions: 185
Compression:
Stored size: 520 Bytes
Contents
const sameWord = (word, candidate) => word.toLowerCase() === candidate.toLowerCase(); const isAnagram = (word, candiate) => normalize(word) === normalize(candiate); const normalize = str => str.toLowerCase().split('').sort().join(); export default class Anagram { constructor(word) { this.word = word; } matches(words) { words = Array.isArray(words) ? words : Array.from(arguments); return words.filter(candidate => !sameWord(this.word, candidate) && isAnagram(this.word, candidate)); } }
Version data entries
185 entries across 185 versions & 1 rubygems