Skip to content

Instantly share code, notes, and snippets.

@nayeemzen
Created October 23, 2018 18:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nayeemzen/9ef872d75a6147c56586bf0f2f37b32b to your computer and use it in GitHub Desktop.
Save nayeemzen/9ef872d75a6147c56586bf0f2f37b32b 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