You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							53 lines
						
					
					
						
							1.5 KiB
						
					
					
				| var baseToString = require('./_baseToString'),
 | |
|     castSlice = require('./_castSlice'),
 | |
|     hasUnicode = require('./_hasUnicode'),
 | |
|     isIterateeCall = require('./_isIterateeCall'),
 | |
|     isRegExp = require('./isRegExp'),
 | |
|     stringToArray = require('./_stringToArray'),
 | |
|     toString = require('./toString');
 | |
| 
 | |
| /** Used as references for the maximum length and index of an array. */
 | |
| var MAX_ARRAY_LENGTH = 4294967295;
 | |
| 
 | |
| /**
 | |
|  * Splits `string` by `separator`.
 | |
|  *
 | |
|  * **Note:** This method is based on
 | |
|  * [`String#split`](https://mdn.io/String/split).
 | |
|  *
 | |
|  * @static
 | |
|  * @memberOf _
 | |
|  * @since 4.0.0
 | |
|  * @category String
 | |
|  * @param {string} [string=''] The string to split.
 | |
|  * @param {RegExp|string} separator The separator pattern to split by.
 | |
|  * @param {number} [limit] The length to truncate results to.
 | |
|  * @returns {Array} Returns the string segments.
 | |
|  * @example
 | |
|  *
 | |
|  * _.split('a-b-c', '-', 2);
 | |
|  * // => ['a', 'b']
 | |
|  */
 | |
| function split(string, separator, limit) {
 | |
|   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 = baseToString(separator);
 | |
|     if (!separator && hasUnicode(string)) {
 | |
|       return castSlice(stringToArray(string), 0, limit);
 | |
|     }
 | |
|   }
 | |
|   return string.split(separator, limit);
 | |
| }
 | |
| 
 | |
| module.exports = split;
 |