refactor(limitTo): no need for all those checks if we use slice

Closes #10537
This commit is contained in:
Peter Bacon Darwin
2014-12-21 14:39:42 +00:00
parent 8d6c594a56
commit d232151664
+4 -29
View File
@@ -81,36 +81,11 @@ function limitToFilter(){
limit = int(limit);
}
if (isString(input)) {
//NaN check on limit
if (limit) {
return limit >= 0 ? input.slice(0, limit) : input.slice(limit, input.length);
} else {
return "";
}
}
var out = [],
i, n;
// if abs(limit) exceeds maximum length, trim it
if (limit > input.length)
limit = input.length;
else if (limit < -input.length)
limit = -input.length;
if (limit > 0) {
i = 0;
n = limit;
//NaN check on limit
if (limit) {
return limit > 0 ? input.slice(0, limit) : input.slice(limit);
} else {
i = input.length + limit;
n = input.length;
return isString(input) ? "" : [];
}
for (; i<n; i++) {
out.push(input[i]);
}
return out;
};
}