The Wayback Machine - https://web.archive.org/web/20170626183612/https://github.com/lodash/lodash/blob/master/split.js
Skip to content
Permalink
b8a3a42 Mar 15, 2017
43 lines (39 sloc) 1.18 KB
import castSlice from './.internal/castSlice.js'
import hasUnicode from './.internal/hasUnicode.js'
import isRegExp from './isRegExp.js'
import stringToArray from './.internal/stringToArray.js'
/** Used as references for the maximum length and index of an array. */
const MAX_ARRAY_LENGTH = 4294967295
/**
* Splits `string` by `separator`.
*
* **Note:** This method is based on
* [`String#split`](https://mdn.io/String/split).
*
* @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) {
limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0
if (!limit) {
return []
}
if (string && (
typeof separator == 'string' ||
(separator != null && !isRegExp(separator))
)) {
if (!separator && hasUnicode(string)) {
return castSlice(stringToArray(string), 0, limit)
}
}
return string.split(separator, limit)
}
export default split
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.