import _curry2 from './internal/_curry2';
/**
* Adds two values.
*
* @func
* @memberOf R
* @since v0.1.0
* @category Math
* @sig Number -> Number -> Number
* @param {Number} a
* @param {Number} b
* @return {Number}
* @see R.subtract
* @example
*
* R.add(2, 3); //=> 5
* R.add(7)(10); //=> 17
*/
var add = _curry2(function add(a, b) {
return Number(a) + Number(b);
});
export default add;
const list = [{ a: 1 }, { a: 2 }, { a: 3 }];
//lodash
{
//根据给定的列表求和
let sum = data => _.reduce(data, (a, b) => a + b.a,0);
//得到值>1的项组成的列表
let getList = data => _.filter(data, (o) => o.a > 1);
let total = _.flow(getList, sum)(list);
console.log(total);//>> 5
}
//Ramda
{
let sum = data => R.reduce((a,b)=>a+b.a,0,data);
let getList = data => R.filter((o) => o.a > 1,data);
let total = R.compose(sum,getList)(list);
console.log(total);//>> 5
}
let sum = data => R.reduce((a,b)=>a+b.a,0)(data);
let getList = data => R.filter((o) => o.a > 1)(data);
let total = R.compose(sum,getList)(list);
console.log(total);//>> 5
let sum = R.reduce((a,b)=>a+b.a,0);//优化掉data
let getList = R.filter((o) => o.a > 1);//优化掉data
let total = R.compose(sum,getList)(list);//最后再统一传参data
console.log(total);//>> 5