{"version":3,"file":"meanBy.cjs","names":[],"sources":["../../src/math/meanBy.ts"],"sourcesContent":["/**\n * This method is like mean except that it accepts iteratee which is invoked for each element\n * in array to generate the value to be averaged.\n * The iteratee is invoked with one argument: (value).\n *\n * @param array - The array to iterate over\n * @param iteratee - The iteratee invoked per element\n * @returns Returns the mean\n *\n * @example\n * meanBy([{ n: 1 }, { n: 2 }, { n: 3 }], (o) => o.n) // => 2\n * meanBy([], (o) => o.n) // => 0\n */\nexport function meanBy<T>(array: T[], iteratee: (item: T) => number): number {\n  if (!Array.isArray(array) || array.length === 0) {\n    return 0;\n  }\n\n  const sum = array.reduce((total, item) => total + iteratee(item), 0);\n  return sum / array.length;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAaA,SAAgB,OAAU,OAAY,UAAuC;CAC3E,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,GAC5C,OAAO;CAIT,OADY,MAAM,QAAQ,OAAO,SAAS,QAAQ,SAAS,IAAI,GAAG,CACzD,IAAI,MAAM;AACrB"}