deno.land / x / rambda@v9.1.1 / source / reduceBy.js

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { clone } from './clone.js'import { curry } from './curry.js'import { has } from './has.js'import { reduce } from './reduce.js'
function reduceByFunction( valueFn, valueAcc, keyFn, acc, elt){ const key = keyFn(elt) const value = valueFn(has(key, acc) ? acc[ key ] : clone(valueAcc), elt)
acc[ key ] = value
return acc}
export function reduceByFn( valueFn, valueAcc, keyFn, list){ return reduce( (acc, elt) => reduceByFunction( valueFn, valueAcc, keyFn, acc, elt ), {}, list )}
export const reduceBy = curry(reduceByFn)
rambda

Version Info

Tagged at
2 months ago