函数式编程属于声明式编程(declarative programming)的范畴,经常跟声明式编程一块儿讨论的是命令式编程(imperative programming),因为它们是两种不太一样的风格。 命令式编程一般就是说清楚具体要怎么样得到一个结果:先这样做,再这样做,然后再这样,如果这样,就这样做 … 声明式编程就是声明(说明)一下你想得到的结果是什么样的:把这组电影里的平均分大于 9 分的电影过滤出来给我。 比如有一组电影,你想过滤出评分 9 分以上的电影。 let movies = [ { title: 'The Shawshank Redemption', rating: 9.6 }, { title: 'Forrest Gump', rating: 9.4 }, { title: 'Roman Holiday', rating: 8.9 } ] 命令式: const imperativeMovieFilter = (movies) => { let result = [] for (let i = 0; i < movies.length; i++) { if (movies[i].rating >= 9) { result.push(movies[i]) } } return result } 在函数里面,先来个 result,让它等于一个空白的数组。然后我们又