array/concat.js

/**
 * 合并多个数组或单个元素到一个新的数组中。
 * 
 * @author xkloveme <xkloveme@gmail.com>
 * @category array
 * @alias array_concat
 * 
 * @param {...any} args - 一个或多个数组或单个元素。
 * 
 * @returns {Array} - 合并后的数组。
 * 
 * @example
 * // 合并两个数组
 * console.log(array_concat([1, 2], [3, 4])); // 输出 [1, 2, 3, 4]
 * 
 * @example
 * // 合并数组和单个元素
 * console.log(array_concat([1, 2], 3, [4, 5])); // 输出 [1, 2, 3, 4, 5]
 * 
 * @example
 * // 合并多个数组和单个元素
 * console.log(array_concat([1, 2], [3, 4], 5, [6, 7])); // 输出 [1, 2, 3, 4, 5, 6, 7]
 * 
 * @example
 * // 合并空数组
 * console.log(array_concat([], [])); // 输出 []
 * 
 * @example
 * // 合并单个元素
 * console.log(array_concat(1, 2, 3)); // 输出 [1, 2, 3]
 * 
 * @example
 * // 合并不同类型的元素
 * console.log(array_concat([1, 2], 'text', [3, 4])); // 输出 [1, 2, 'text', 3, 4]
 */
export default (...args) => {
    // 使用 Array.prototype.concat.apply 来合并所有传入的参数
    return [].concat(...args.map(arg => Array.isArray(arg) ? arg : [arg]));
};