Projekt

Obecné

Profil

Stáhnout (1007 Bajtů) Statistiky
| Větev: | Revize:
1 3a515b92 cagy
var arrayPush = require('./_arrayPush'),
2
    baseFlatten = require('./_baseFlatten'),
3
    copyArray = require('./_copyArray'),
4
    isArray = require('./isArray');
5
6
/**
7
 * Creates a new array concatenating `array` with any additional arrays
8
 * and/or values.
9
 *
10
 * @static
11
 * @memberOf _
12
 * @since 4.0.0
13
 * @category Array
14
 * @param {Array} array The array to concatenate.
15
 * @param {...*} [values] The values to concatenate.
16
 * @returns {Array} Returns the new concatenated array.
17
 * @example
18
 *
19
 * var array = [1];
20
 * var other = _.concat(array, 2, [3], [[4]]);
21
 *
22
 * console.log(other);
23
 * // => [1, 2, 3, [4]]
24
 *
25
 * console.log(array);
26
 * // => [1]
27
 */
28
function concat() {
29
  var length = arguments.length;
30
  if (!length) {
31
    return [];
32
  }
33
  var args = Array(length - 1),
34
      array = arguments[0],
35
      index = length;
36
37
  while (index--) {
38
    args[index - 1] = arguments[index];
39
  }
40
  return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
41
}
42
43
module.exports = concat;