In JavaScript Show Longest Word in a String
Posted on November 28, 2017 in Algorithms, JavaScript, Regular Expressions by Matt Jennings
function longestWord(sen) { // 'sen' is a string and 'match' // matches all the items in the // 'sen' string (per the regex) // an array of matched parts of the string. // The '/a-z0-9+/gi' regular expression // matches a part of the string with letters or numbers // case insentively (the 'i') and // globally (the 'g') which means that // not ONLY the first matching array element // will be returned and the '+' means // that a matching part of the string // will have one or more letters and/or numbers // matching. var arr = sen.match(/[a-z0-9]+/gi); // The function below returns an array of sorted // elements from the longest length element to the // shortest length element. If two elements // are of equal length then the array element that // comes first is sorted before the element // that came second. var sorted = arr.sort(function(a, b) { return b.length - a.length; }); // The first element of the 'sorted' array is returned // because it is either the longest length array element // or tied for the longest length array element. return sorted[0]; } // Output is "coderbyte999" console.log(longestWord("the $$$longest# word is coderbyte999"));