“JavaScript Temukan kata terpendek dalam string” Kode Jawaban

JavaScript Temukan kata terpendek dalam 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];
};
codrzch

JavaScript Temukan kata terpendek dalam 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' }
}
*/
codeager

Jawaban yang mirip dengan “JavaScript Temukan kata terpendek dalam string”

Pertanyaan yang mirip dengan “JavaScript Temukan kata terpendek dalam string”

Lebih banyak jawaban terkait untuk “JavaScript Temukan kata terpendek dalam string” di JavaScript

Jelajahi jawaban kode populer menurut bahasa

Jelajahi bahasa kode lainnya