function reduce( $list, $fn, $memo )
{
let memo = $memo;
each( $list, ( $item ) => memo = $fn( memo, $item ));

return memo;
}

function each( $list, $fn ){
for( let item of $list ){
$fn( item );
}
}

const add = ( a, b ) => a + b;
const minus = ( a, b ) => a - b;

console.log( reduce([ 1, 2, 3 ], add, 0 ));
console.log( reduce([ 1, 2, 3 ], minus, 6 ));


+ Recent posts