{"version":3,"sources":["../src/array/remove.ts"],"names":["remove","arr","args","values","valueSet","removed","i"],"mappings":";;;;AAiBO,SAASA,EAAUC,CAAYC,CAAAA,GAAAA,CAAAA,CAAmB,CACrD,IAAMC,CAAAA,CAASD,EACTE,CAAW,CAAA,IAAI,GAAID,CAAAA,CAAM,EACzBE,CAAe,CAAA,GAErB,IAASC,IAAAA,CAAAA,CAAIL,EAAI,MAAS,CAAA,CAAA,CAAGK,CAAK,EAAA,CAAA,CAAGA,IAC7BF,CAAS,CAAA,GAAA,CAAIH,EAAIK,CAAC,CAAC,GACnBD,CAAQ,CAAA,OAAA,CAAQJ,EAAI,MAAOK,CAAAA,CAAAA,CAAG,CAAC,CAAE,CAAA,CAAC,CAAC,CAG3C,CAAA,OAAQD,EAAQ,MACpB","file":"chunk-RQFLN7SW.mjs","sourcesContent":["/**\n * 从数组中移除指定的值\n * \n * @param arr - 要操作的数组\n * @param values - 要移除的值列表\n * @returns 返回移除的元素数量\n * \n * @example\n * ```typescript\n * const arr = [1, 2, 3, 4, 5, 2, 3];\n * \n * // 移除所有值为2和3的元素，返回移除数量\n * remove(arr, 2, 3);  // 返回: 3\n * console.log(arr);   // 输出: [1, 4, 5]\n * \n * ```\n */\nexport function remove<T>(arr: T[],...args: T[]): number {\n    const values = args as T[];\n    const valueSet = new Set(values);\n    const removed: T[] = [];\n    // 从后向前遍历以避免splice导致的索引问题\n    for (let i = arr.length - 1; i >= 0; i--) {\n        if (valueSet.has(arr[i])) {\n            removed.unshift(arr.splice(i, 1)[0]);\n        }\n    }\n    return  removed.length;\n}\n "]}