Gal*_*har 2 javascript ramda.js
我正在尝试使用ramda.js来计算对象数组中键值对的出现次数,例如:
var array = [
{a: {b: 'a'}},
{a: {b: 'a'}},
{a: {b: 'X'}},
{a: 'a'}
]
Run Code Online (Sandbox Code Playgroud)
如果我想计算in{a: {b: 'a'}}内出现的次数,我会怎么做?arrayramda.js
你可能讨厌它,pointfree 函数。
R.compose(R.length, R.filter(R.compose( R.equals('a'), R.path(['a', 'b']))))(array)
Run Code Online (Sandbox Code Playgroud)
更新刚刚从 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)
Run Code Online (Sandbox Code Playgroud)