From 4e6551797daffaefb02aa0e94df2adca537ccc99 Mon Sep 17 00:00:00 2001 From: Andreas Lind Date: Fri, 27 Jul 2018 09:13:34 +0200 Subject: [PATCH] Avoid Array#splice https://github.com/ljharb/qs/pull/268#discussion_r205678174 --- lib/parse.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/parse.js b/lib/parse.js index ce7282cd..b65a1f18 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -42,6 +42,7 @@ var parseValues = function parseQueryStringValues(str, options) { var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit; var parts = cleanStr.split(options.delimiter, limit); var charset = options.charset; + var skipIndex = -1; // Keep track of where the utf8 sentinel was found var i; if (options.utf8Sentinel) { @@ -52,13 +53,16 @@ var parseValues = function parseQueryStringValues(str, options) { } else if (parts[i] === isoSentinel) { charset = 'iso-8859-1'; } - parts.splice(i, 1); + skipIndex = i; i = parts.length; // The eslint settings do not allow break; } } } for (i = 0; i < parts.length; ++i) { + if (i === skipIndex) { + continue; + } var part = parts[i]; var bracketEqualsPos = part.indexOf(']=');