Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. const colors = ["aliceblue","antiquewhite","aqua","aquamarine", "azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]
  2.  
  3. const inner = w => {
  4. if (w.length < 3) return [...w, w[0] +w[1]];
  5. let last = w.pop()
  6. let o = inner(w)
  7. return o.concat([...o.map(string => string + last), last])
  8. }
  9. const makeSubset = word => inner(word.split('')).reduce((a,c) => {
  10. if (c.length > 1) a.add(c)
  11. return a
  12. }, new Set())
  13. const wordToSetMap = colors.reduce((a,c) => {
  14. a[c] = makeSubset(c)
  15. return a
  16. }, {})
  17. const fuzzy = i => {
  18. return Object.entries(wordToSetMap).reduce((acc, [key, set]) => {
  19. if (set.has(i)) acc.push(key)
  20. return acc
  21. }, [])
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement