Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mohammedri/fe0c5461adc8f696a70debd1b1aa9acc to your computer and use it in GitHub Desktop.
Save mohammedri/fe0c5461adc8f696a70debd1b1aa9acc to your computer and use it in GitHub Desktop.
Functional programming approach to parsing query strings in Typescript/ES6
// Functional programming approach to parsing query strings in Typescript/ES6.
function parseQueryString(search: string) {
return (search.startsWith('?') ? search.substring(1) : search)
.split('&')
.map(str => {
const eqIdx = str.indexOf('=');
if (eqIdx <= 0 || eqIdx >= str.length - 1) {
return {};
}
const key = str.substring(0, eqIdx);
const value = str.substring(eqIdx + 1, str.length);
return {[key]: value};
})
.reduce((prev, next) => ({...prev, ...next}));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment