Skip to content

Instantly share code, notes, and snippets.

@sparkcanon
Created November 13, 2022 22:08
Show Gist options
  • Save sparkcanon/a5067cc0664d7865eb28fd9c43a91e56 to your computer and use it in GitHub Desktop.
Save sparkcanon/a5067cc0664d7865eb28fd9c43a91e56 to your computer and use it in GitHub Desktop.
stringy stuff
const string =
"lorem ipsum dolor sit amet consectetur lorem ipsum et mihi quoniam et adipiscing elit.sed quoniam et advesperascit et mihi ad villam revertendum est nunc quidem hactenus ex rebus enim timiditas non ex vocabulis nascitur.nummus in croesi divitiis obscuratur pars est tamen divitiarum.nam quibus rebus efficiuntur voluptates eae non sunt in potestate sapientis.hoc mihi cum tuo fratre convenit.qui ita affectus beatum esse numquam probabis duo reges constructio interrete.de hominibus dici non necesse est.eam si varietatem diceres intellegerem ut etiam non dicente te intellego parvi enim primo ortu sic iacent tamquam omnino sine animo sint.ea possunt paria non esse.quamquam tu hanc copiosiorem etiam soles dicere.de quibus cupio scire quid sentias.universa enim illorum ratione cum tota vestra confligendum puto.ut nemo dubitet eorum omnia officia quo spectare quid sequi quid fugere debeant nunc vero a primo quidem mirabiliter occulta natura est nec perspici nec cognosci potest.videmusne ut pueri ne verberibus quidem a contemplandis rebus perquirendisque deterreantur sunt enim prima elementa naturae quibus auctis virtutis quasi germen efficitur.nam ut sint illa vendibiliora haec uberiora certe sunt.cur deinde metrodori liberos commendas.mihi inquam qui te id ipsum rogavi nam adhuc meo fortasse vitio quid ego quaeram non perspicis.quibus ego vehementer assentior.cur iustitia laudatur mihi enim satis est ipsis non satis.quid est enim aliud esse versutum nobis heracleotes ille dionysius flagitiose descivisse videtur a stoicis propter oculorum dolorem.diodorus eius auditor adiungit ad honestatem vacuitatem doloris.nos quidem virtutes sic natae sumus ut tibi serviremus aliud negotii nihil habemus.";
function wordCount(str) {
return str.split(/\s+|\./gi).filter(function (word) {
word !== "";
}).length;
}
function sentenceCount(str) {
return (
str.split(/\./gi).filter(function (word) {
return word !== "";
}).length - 1
);
}
function longestWord(str) {
return str
.split(/\s+|\./gi)
.filter(function (word) {
return word !== "";
})
.reduce(function (a, b) {
return b.length > a.length ? b : a;
}).length;
}
function wordOccurance(str, num) {
const words = str.split(/\s+|\./gi).filter(function (word) {
return word !== "";
});
const countedWords = words.reduce(function (memo, word) {
memo[word] = (memo[word] || 0) + 1;
return memo;
}, {});
const sortedWords = Object.keys(countedWords).sort(function (a, b) {
return countedWords[b] - countedWords[a];
});
return sortedWords.slice(0, num);
}
console.log(wordCount(string));
console.log(sentenceCount(string));
console.log(longestWord(string));
console.log(wordOccurance(string, 6));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment