JS: getClosestColorName

inspired by: http://chir.ag/projects/name-that-color/#4C4F56 http://shallowsky.com/colormatch/index.php?hex=0769AD

HTML

<input value="0769AD">
<button>Closest</button>
<p>As you can see `#0769AD` is a blue, now click `Closest`.</p>

CSS

body {
    background: #0769AD;
}

JavaScript

Array.closest = (function () {

    // http://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#JavaScript
    function levDist(s, t) {
        if (!s.length) return t.length;
        if (!t.length) return s.length;

        return Math.min(
            levDist(s.substring(1), t) + 1,
            levDist(t.substring(1), s) + 1,
            levDist(s.substring(1), t.substring(1)) + (s[0] !== t[0] ? 1 : 0)
        );
    }

    return function (arr, str) {
        // http://stackoverflow.com/q/11919065/1250044#comment16113902_11919065
        return arr.sort(function (a, b) {
            return levDist(a, str) - levDist(b, str);
        });
    };

}());



// http://www.crockford.com/wrrrld/color.html
var colors = {
    '191970': 'midnightblue',
    '696969': 'dimgray',
    '708090': 'slategray',
    '778899': 'lightslategray',
    '800000': 'maroon',
    '800080': 'purple',
    '808000': 'olive',
    '808080': 'gray',
    'f0f8ff': 'aliceblue',
    'faebd7': 'antiquewhite',
    '00ffff': 'cyan',
    '7fffd4': 'aquamarine',
    'f0ffff': 'azure',
    'f5f5dc': 'beige',
    'ffe4c4': 'bisque',
    '000000': 'black',
    'ffebcd': 'blanchedalmond',
    '0000ff': 'blue',
    '8a2be2': 'blueviolet',
    'a52a2a': 'brown',
    'deb887': 'burlywood',
    '5f9ea0': 'cadetblue',
    '7fff00': 'chartreuse',
    'd2691e': 'chocolate',
    'ff7f50': 'coral',
    '6495ed': 'cornflowerblue',
    'fff8dc': 'cornsilk',
    'dc143c': 'crimson',
    '00008b': 'darkblue',
    '008b8b': 'darkcyan',
    'b8860b': 'darkgoldenrod',
    'a9a9a9': 'darkgray',
    '006400': 'darkgreen',
    'bdb76b': 'darkkhaki',
    '8b008b': 'darkmagenta',
    '556b2f': 'darkolivegreen',
    'ff8c00': 'darkorange',
    '9932cc': 'darkorchid',
    '8b0000': 'darkred',
    'e9967a': 'darksalmon',
    '8fbc8f': 'darkseagreen',
    '483d8b': 'darkslateblue',
    '2f4f4f': 'darkslategray',
    '00ced1': 'darkturquoise',
    '9400d3': 'darkviolet',
    'ff1493': 'deeppink',
   ...