Skip to content

Commit 4db1d83

Browse files
committed
Merge pull request #42 from acconrad/patch-2
Cache for loop lengths
2 parents 07c96e4 + f66c4d9 commit 4db1d83

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Uri.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109

110110
ps = str.toString().split(re.query_separator);
111111

112-
for (i = 0; i < ps.length; i++) {
112+
for (i = 0, l = ps.length; i < l; i++) {
113113
p = ps[i];
114114
n = p.indexOf('=');
115115

@@ -175,7 +175,7 @@
175175
this.queryPairs = parseQuery(val);
176176
}
177177

178-
for (i = 0; i < this.queryPairs.length; i++) {
178+
for (i = 0, l = this.queryPairs.length; i < l; i++) {
179179
param = this.queryPairs[i];
180180
if (s.length > 0) {
181181
s += '&';
@@ -200,7 +200,7 @@
200200
*/
201201
Uri.prototype.getQueryParamValue = function (key) {
202202
var param, i;
203-
for (i = 0; i < this.queryPairs.length; i++) {
203+
for (i = 0, l = this.queryPairs.length; i < l; i++) {
204204
param = this.queryPairs[i];
205205
if (key === param[0]) {
206206
return param[1];
@@ -215,7 +215,7 @@
215215
*/
216216
Uri.prototype.getQueryParamValues = function (key) {
217217
var arr = [], i, param;
218-
for (i = 0; i < this.queryPairs.length; i++) {
218+
for (i = 0, l = this.queryPairs.length; i < l; i++) {
219219
param = this.queryPairs[i];
220220
if (key === param[0]) {
221221
arr.push(param[1]);
@@ -233,7 +233,7 @@
233233
Uri.prototype.deleteQueryParam = function (key, val) {
234234
var arr = [], i, param, keyMatchesFilter, valMatchesFilter;
235235

236-
for (i = 0; i < this.queryPairs.length; i++) {
236+
for (i = 0, l = this.queryPairs.length; i < l; i++) {
237237

238238
param = this.queryPairs[i];
239239
keyMatchesFilter = decode(param[0]) === decode(key);
@@ -274,10 +274,10 @@
274274
* @return {Uri} returns self for fluent chaining
275275
*/
276276
Uri.prototype.replaceQueryParam = function (key, newVal, oldVal) {
277-
var index = -1, i, param;
277+
var index = -1, len = this.queryPairs.length, i, param;
278278

279279
if (arguments.length === 3) {
280-
for (i = 0; i < this.queryPairs.length; i++) {
280+
for (i = 0; i < len; i++) {
281281
param = this.queryPairs[i];
282282
if (decode(param[0]) === decode(key) && decodeURIComponent(param[1]) === decode(oldVal)) {
283283
index = i;
@@ -288,7 +288,7 @@
288288
this.deleteQueryParam(key, decode(oldVal)).addQueryParam(key, newVal, index);
289289
}
290290
} else {
291-
for (i = 0; i < this.queryPairs.length; i++) {
291+
for (i = 0; i < len; i++) {
292292
param = this.queryPairs[i];
293293
if (decode(param[0]) === decode(key)) {
294294
index = i;

0 commit comments

Comments
 (0)