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

Version Path
trackler-2.2.1.180 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.179 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.178 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.177 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.176 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.175 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.174 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.173 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.172 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.171 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.170 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.169 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.167 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.166 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.165 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.164 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.163 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.162 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.161 tracks/ecmascript/exercises/anagram/example.js
trackler-2.2.1.160 tracks/ecmascript/exercises/anagram/example.js