如何使用ramda.js计算对象数组中路径的出现次数?

时间:2018-07-02 08:54:36

标签: javascript ramda.js

我正在尝试使用ramda.js来计算键值对在对象数组中的出现次数,例如:

var array = [
  {a: {b: 'a'}},
  {a: {b: 'a'}},
  {a: {b: 'X'}},
  {a: 'a'}
]

如果我想计算{a: {b: 'a'}}arrayramda.js发生的次数,我该怎么办?

1 个答案:

答案 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)