Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

javascript find shortest word in string

const findShort = str => {
  // Convert string into an array of individual words:
  const arr = str.split(' ');
  // Sort array in ascending order:
  arr.sort((a, b) => a.length - b.length);
  // Return the first (shortest) element in the array:
  return arr[0];
};
Comment

JavaScript find the shortest word in a string

let str = 'Sleep is critical for good health. Not getting enough sleep can lead 
to diminished brain performance and, in the long term, greater risk of 
health conditions. These include heart disease, stroke, and diabetes';

function findWordsByLen(str, len) {
  const punctuationReg = /[.:;,?!"`~[]{}()<>/@#$%^&*=+_-]/g;
  const words = str
	.replaceAll(/s{2,}/g, ' ')
	.replaceAll(punctuationReg, '')
	.split(' ');

  let wordsByLen = words.reduce((acc, word) => {
    let wordLen = word.length;
    if (!acc.has(wordLen)) acc.set(wordLen, new Set());
    acc.get(wordLen).add(word);
    return acc;
  }, new Map());

  const maxLen = Math.max(...wordsByLen.keys());
  const minLen = Math.min(...wordsByLen.keys());

  switch(len) {
  case 'all':
    return wordsByLen;
  case 'max':
    return wordsByLen.get(maxLen);
  case 'min':
    return wordsByLen.get(minLen);
  }

  if (Number.isInteger(len) && wordsByLen.has(len)) return wordsByLen.get(len)
  else return `The string doesn't have any words with a length of ${len}`

}

findWordsByLen(str, 'max');     // => Set(1) { 'performance' }
findWordsByLen(str, 'min');     // => Set(4) { 'is', 'to', 'in', 'of' }
findWordsByLen(str, 8);         // => Set(2) { 'critical', 'diabetes' }


findWordsByLen(str, 'all');
/* OUTPUT:
Map(9) {
  5 => Set(5) { 'Sleep', 'sleep', 'brain', 'These', 'heart' },
  2 => Set(4) { 'is', 'to', 'in', 'of' },
  8 => Set(2) { 'critical', 'diabetes' },
  3 => Set(5) { 'for', 'Not', 'can', 'and', 'the' },
  4 => Set(5) { 'good', 'lead', 'long', 'term', 'risk' },
  6 => Set(3) { 'health', 'enough', 'stroke' },
  7 => Set(4) { 'getting', 'greater', 'include', 'disease' },
  10 => Set(2) { 'diminished', 'conditions' },
  11 => Set(1) { 'performance' }
}
*/
Comment

PREVIOUS NEXT
Code Example
Javascript :: how to get session value using javascript 
Javascript :: js get custom attribute 
Javascript :: jquery remove br from div 
Javascript :: message.channel.fetchMessages is not a function 
Javascript :: change attribute 
Javascript :: js get time in am 
Javascript :: jquery form id submit 
Javascript :: react native android build 
Javascript :: class onclick jqery 
Javascript :: nangular make window available 
Javascript :: delete first character javascript 
Javascript :: play background music in html jasvascript 
Javascript :: node downgrade windows 
Javascript :: convert da decimale a hex javascript 
Javascript :: js get viewport width 
Javascript :: js timer loop 
Javascript :: js onsubmit prevent default 
Javascript :: display pm or am on date js 
Javascript :: wp_enqueue_script bootstrap 
Javascript :: wait for time javascript 
Javascript :: javascript base64 encode string 
Javascript :: how to remove name in react navigation header 
Javascript :: js append element to body 
Javascript :: detect if scrolled to bottom 
Javascript :: javascript snumber two decimal places as string 
Javascript :: javascript reset scroll position 
Javascript :: javascript clear style inline property 
Javascript :: helmet graphql playground 
Javascript :: ajax download file 
Javascript :: javascript localStorage clear items 
ADD CONTENT
Topic
Content
Source link
Name
3+7 =