1、map:数组的每个成员依次执行某个函数
R.map( item => item*2 )([1, 2, 3])
// [2, 4, 6]
2、filter:过滤出符合条件的成员
R.filter(item => item % 2 === 0)([1, 2, 3,4])
// [2, 4]
3、path:取出数组中指定路径的值
R.path(['a', 'b'], {a: {b: 2}})
R.path(['a'], {a: 2})
R.path(['a'])({a: 2})
// 2
4、zipObj:将两个数组指定位置的成员分别作为键名和键值,生成一个新对象
R.zipObj(['a', 'b', 'c'])([1, 2, 3])
// {a: 1, b: 2, c: 3}
5、mergeAll:将数组的成员合并成一个对象
R.mergeAll([{a:1},{b:2},{c:3}])
// {a:1,b:2,c:3}
6、merge:合并两个对象,如果有同名属性,后面的值会覆盖掉前面的值
R.merge({ 'a': 1, 'b': 2 })({ 'b': 22,'c': 3})
// { 'a': 1, 'b': 22, 'c':3 }
总的感受就一个:ramda.js的API真香!
网友评论