UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

46 lines (45 loc) 1.35 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.concat = void 0; const baseFlatten_1 = __importDefault(require("./.internal/baseFlatten")); const copyArray_1 = __importDefault(require("./.internal/copyArray")); const arrayPush_1 = __importDefault(require("./.internal/arrayPush")); const isArray_1 = __importDefault(require("./isArray")); /** * Creates a new array concatenating `array` with any additional arrays * and/or values. * * @since 5.0.0 * @category Array * @returns Returns the new concatenated array. * @example * * ```js * var array = [1]; * var other = concat(array, 2, [3], [[4]]); * * console.log(other); * // => [1, 2, 3, [4]] * * console.log(array); * // => [1] * ``` */ function concat(...arrays) { const length = arrays.length; if (!length) { return []; } const args = Array(length - 1); const array = arrays[0]; let index = length; while (index--) { args[index - 1] = arrays[index]; } return (0, arrayPush_1.default)((0, isArray_1.default)(array) ? (0, copyArray_1.default)(array) : [array], (0, baseFlatten_1.default)(args, 1)); } exports.concat = concat; exports.default = concat;