javascript - lambda 长深

标签 javascript functional-programming lodash ramda.js

我有一个一层深的数组,需要计算嵌套数组的长度总和,即长度深
试图找到一种使用 Ramda 的良好惯用方法。
我目前得到的解决方案感觉不够简洁。可能我错过了一些东西。
您能提出更好的建议吗?

const arr = [[1], [2, 3], [4, 5, 6]]

const lengthDeep = R.pipe(
  R.map(R.prop('length')),
  R.sum
)
console.log(lengthDeep(arr)) // 6
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.24.1/ramda.min.js"></script>

PS:我正在通过尝试将 Ramda 应用于日常编码来学习 Ramda。

最佳答案

首先,您可以使用R.length代替R.prop('length')。您还可以考虑展平数组,之后所需的结果就是数组的长度:

R.pipe(R.flatten, R.length)

关于javascript - lambda 长深,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44473974/

相关文章:

javascript - MobileServices.web.js 未经授权的 api 调用

javascript - 如何创建一个按钮来更改 href 的一部分?

javascript - 如何从浏览器向 Node 脚本发送数据?

javascript - 从 data.task 迁移到处理拒绝的 folktale

scala - 组合序列的惯用 Scala 解决方案

javascript - 动态删除字段按钮无法正常工作

scala - 如何检查函数中元素的协变和逆变位置?

javascript - 如何在 JSDoc 中创建类别?

javascript - Lodash 迭代嵌套循环

javascript - 非负集减法