Skip to content

Instantly share code, notes, and snippets.

@nazomikan
Created September 7, 2012 12:21
Show Gist options
  • Save nazomikan/3665739 to your computer and use it in GitHub Desktop.
Save nazomikan/3665739 to your computer and use it in GitHub Desktop.
createQueryPattern
var urlPatterns = createQueryPattern('http://hogehoge/',[
'a=1',
'b=2',
'c=3',
'd=4',
'e=5',
'f=6'
]);
console.dir(urlPatterns);
function createQueryPattern(baseUrl, pattern) {
var i, iz, j, jz, tmp, allUrlPattern = [],
cutStart, cutEnd, cutLen,
minusCutStart, minusCutLen;
allUrlPattern.push(baseUrl + '?' + pattern.join('&'));
for (i = 0, iz = pattern.length; i < iz; i++) {
for (j = 0, jz = pattern.length; j < jz; j++) {
tmp = pattern.slice();
cutStart = (iz - 1) - (j + i);
cutEnd = (iz - 1) - i;
cutLen = cutEnd - cutStart + 1;
if (cutStart < 0) {
minusCutStart = jz - (-1 * cutStart);
minusCutLen = jz - minusCutStart;
tmp.splice(minusCutStart, minusCutLen);
cutStart = 0;
cutLen = cutLen - minusCutLen;
}
tmp.splice(cutStart, cutLen);
if (tmp.length) {
allUrlPattern.push(baseUrl + '?' + tmp.join('&'));
}
}
}
return allUrlPattern;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment