gpt4 book ai didi

javascript - 函数式编程效率 vs 命令式

转载 作者:搜寻专家 更新时间:2023-11-01 05:03:20 29 4
gpt4 key购买 nike

我是函数式编程的新手,我刚遇到一些事情,想知道是否有解决办法。

假设我有

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 循环中完成所有操作。这是我采用的函数式编程的错误方法,还是函数式编程范式本身的权衡

最佳答案

这当然性能较差。而性能命中您选择的样式的权衡。

有人可能会争辩说这没什么大不了的,因为时间复杂度是 O(n)the only difference is the constant .我会说确保你性能测试你的应用程序。如果它很慢——是时候优化某些代码块了。

过早的优化是邪恶的。在许多情况下,命令式代码比函数式代码运行得更快或快得多,或者快得多,这取决于具体情况,您可能会接受也可能不会接受。

此外,还有各种提高性能的技术。您不一定要更改样式。比如说,在某些情况下 memoization可以大大提高函数的速度,同时保持代码的功能。跳出框框思考。

关于javascript - 函数式编程效率 vs 命令式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50804313/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com