root / HServer / 00.Server / 00.Program / node_modules / lodash / split.js
이력 | 보기 | 이력해설 | 다운로드 (1.51 KB)
1 | 39 | HKM | var baseToString = require('./_baseToString'), |
---|---|---|---|
2 | castSlice = require('./_castSlice'),
|
||
3 | hasUnicode = require('./_hasUnicode'),
|
||
4 | isIterateeCall = require('./_isIterateeCall'),
|
||
5 | isRegExp = require('./isRegExp'),
|
||
6 | stringToArray = require('./_stringToArray'),
|
||
7 | toString = require('./toString');
|
||
8 | |||
9 | /** Used as references for the maximum length and index of an array. */
|
||
10 | var MAX_ARRAY_LENGTH = 4294967295; |
||
11 | |||
12 | /**
|
||
13 | * Splits `string` by `separator`.
|
||
14 | *
|
||
15 | * **Note:** This method is based on
|
||
16 | * [`String#split`](https://mdn.io/String/split).
|
||
17 | *
|
||
18 | * @static
|
||
19 | * @memberOf _
|
||
20 | * @since 4.0.0
|
||
21 | * @category String
|
||
22 | * @param {string} [string=''] The string to split.
|
||
23 | * @param {RegExp|string} separator The separator pattern to split by.
|
||
24 | * @param {number} [limit] The length to truncate results to.
|
||
25 | * @returns {Array} Returns the string segments.
|
||
26 | * @example
|
||
27 | *
|
||
28 | * _.split('a-b-c', '-', 2);
|
||
29 | * // => ['a', 'b']
|
||
30 | */
|
||
31 | function split(string, separator, limit) { |
||
32 | if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { |
||
33 | separator = limit = undefined;
|
||
34 | } |
||
35 | limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; |
||
36 | if (!limit) {
|
||
37 | return [];
|
||
38 | } |
||
39 | string = toString(string); |
||
40 | if (string && (
|
||
41 | typeof separator == 'string' || |
||
42 | (separator != null && !isRegExp(separator))
|
||
43 | )) { |
||
44 | separator = baseToString(separator); |
||
45 | if (!separator && hasUnicode(string)) {
|
||
46 | return castSlice(stringToArray(string), 0, limit); |
||
47 | } |
||
48 | } |
||
49 | return string.split(separator, limit);
|
||
50 | } |
||
51 | |||
52 | module.exports = split; |