Ensure _.slice handles a limit of 0 in Node 0.10.

This commit is contained in:
John-David Dalton
2016-04-09 00:53:07 -07:00
parent 74f6af8686
commit 17e1a6dbe8
2 changed files with 7 additions and 4 deletions

View File

@@ -13553,18 +13553,21 @@
* // => ['a', 'b']
*/
function split(string, separator, limit) {
string = toString(string);
if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {
separator = limit = undefined;
}
limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;
if (!limit) {
return [];
}
string = toString(string);
if (string && (
typeof separator == 'string' ||
(separator != null && !isRegExp(separator))
)) {
separator += '';
if (separator == '' && reHasComplexSymbol.test(string)) {
var strSymbols = stringToArray(string);
return limit === undefined ? strSymbols : strSymbols.slice(0, limit >>> 0);
return baseCastArray(stringToArray(string), 0, limit);
}
}
return string.split(separator, limit);