如何使用 ramda.js 计算对象数组中路径的出现次数?
How to count occurrences of a path in an array of objects with ramda.js?
我正在尝试使用 ramda.js
来计算对象数组中键值对的出现次数,例如:
var array = [
{a: {b: 'a'}},
{a: {b: 'a'}},
{a: {b: 'X'}},
{a: 'a'}
]
如果我想统计 ramda.js
中 array
中出现 {a: {b: 'a'}}
的次数,我该怎么做?
你可能会讨厌它,pointfree 函数。
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)
我正在尝试使用 ramda.js
来计算对象数组中键值对的出现次数,例如:
var array = [
{a: {b: 'a'}},
{a: {b: 'a'}},
{a: {b: 'X'}},
{a: 'a'}
]
如果我想统计 ramda.js
中 array
中出现 {a: {b: 'a'}}
的次数,我该怎么做?
你可能会讨厌它,pointfree 函数。
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)