我正在尝试使用ramda.js
来计算键值对在对象数组中的出现次数,例如:
var array = [
{a: {b: 'a'}},
{a: {b: 'a'}},
{a: {b: 'X'}},
{a: 'a'}
]
如果我想计算{a: {b: 'a'}}
中array
内ramda.js
发生的次数,我该怎么办?
答案 0 :(得分:3)
您可能会讨厌无点功能。
R.compose(R.length, R.filter(R.compose( R.equals('a'), R.path(['a', 'b']))))(array)
更新只是从Scott Christopher的评论中学到的。
R.compose(R.equals(val),R.Path(p1,p2))== R.pathEq([p1,p2],val)
功能可以简化为
R.compose(R.length, R.filter(R.pathEq(['a', 'b'], 'a')))(array)