Sha256: 467cf4d02606dc82220305ad789ab635f5fb3b3cc6404798ae94e42091500e3c
Contents?: true
Size: 639 Bytes
Versions: 105
Compression:
Stored size: 639 Bytes
Contents
'use strict'; function Anagram(word) { this.word = word; } Anagram.prototype.matches = function (wordList) { var words = Array.isArray(wordList) ? wordList : [].slice.call(arguments, 0); return words.filter(function (candidate) { return !sameWord(this.word, candidate) && isAnagram(this.word, candidate); }, this); }; function sameWord(word, candidate) { return word.toLowerCase() === candidate.toLowerCase(); } function isAnagram(word, candiate) { return normalize(word) === normalize(candiate); } function normalize(string) { return string.toLowerCase().split('').sort().toString(); } module.exports = Anagram;
Version data entries
105 entries across 105 versions & 1 rubygems