【发布时间】:2018-06-11 18:52:24
【问题描述】:
我是函数式编程的新手,我刚刚遇到了一些事情,想知道是否有办法解决这个问题。
假设我有
myArray = [
{ a : 1 }
{ a : 4 }
{ a : 5 }
{ a : 6 }
{ a : 7 }
{ a : 8 }
]
假设我需要对这个数据集进行统计操作,例如
const median = myArray[ Math.ceil( myArray.length / 2 ) ]['a'] // Math.ceil .. Side Effect?
const fiveOrMore = myArray.filter( value => value.a >= 5 )
const lessThanFive = myArray.filter( value => value.a < 5 )
一些随意的例子。 目前的问题是,随着我需要做的统计操作数量的增加,效率会降低。
使用命令式风格,我可以在 ONE for 循环中完成所有操作。这是我采用的函数式编程的错误方法还是函数式编程范式本身的权衡?
【问题讨论】:
-
你的意思是
.a在第一行吗? -
@Hassan 第一行?
-
如中,而不是
[a]。 -
@Hassan 刚刚修复。
-
在这些情况下应该始终问的第一个问题是:您的数据集有多大,这些有关系吗? “过早的优化是万恶之源”- Knuth。
标签: javascript functional-programming