44 lines
		
	
	
		
			1007 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1007 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								var arrayPush = require('./_arrayPush'),
							 | 
						||
| 
								 | 
							
								    baseFlatten = require('./_baseFlatten'),
							 | 
						||
| 
								 | 
							
								    copyArray = require('./_copyArray'),
							 | 
						||
| 
								 | 
							
								    isArray = require('./isArray');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Creates a new array concatenating `array` with any additional arrays
							 | 
						||
| 
								 | 
							
								 * and/or values.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @static
							 | 
						||
| 
								 | 
							
								 * @memberOf _
							 | 
						||
| 
								 | 
							
								 * @since 4.0.0
							 | 
						||
| 
								 | 
							
								 * @category Array
							 | 
						||
| 
								 | 
							
								 * @param {Array} array The array to concatenate.
							 | 
						||
| 
								 | 
							
								 * @param {...*} [values] The values to concatenate.
							 | 
						||
| 
								 | 
							
								 * @returns {Array} Returns the new concatenated array.
							 | 
						||
| 
								 | 
							
								 * @example
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * var array = [1];
							 | 
						||
| 
								 | 
							
								 * var other = _.concat(array, 2, [3], [[4]]);
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * console.log(other);
							 | 
						||
| 
								 | 
							
								 * // => [1, 2, 3, [4]]
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * console.log(array);
							 | 
						||
| 
								 | 
							
								 * // => [1]
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								function concat() {
							 | 
						||
| 
								 | 
							
								  var length = arguments.length;
							 | 
						||
| 
								 | 
							
								  if (!length) {
							 | 
						||
| 
								 | 
							
								    return [];
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  var args = Array(length - 1),
							 | 
						||
| 
								 | 
							
								      array = arguments[0],
							 | 
						||
| 
								 | 
							
								      index = length;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  while (index--) {
							 | 
						||
| 
								 | 
							
								    args[index - 1] = arguments[index];
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = concat;
							 |