我们已经使用JavaScript的for循环很长时间了。但是现在,在最新的函数式编程技术的支持下,过时的它应该退役了。幸运的是,您不必成为函数式编程大师也可以进行此更改。更幸运的是,这是您可以在手头的项目中立即完成的事情!我们一直在使用JavaScript的for循环。但是现在,在最新的函数式编程技术的支持下,过时的它应该退役了。幸运的是,您不必成为函数式编程大师也可以进行此更改。更幸运的是,这是您可以在手头的项目中立即完成的事情!那么JavaScript的for循环有什么问题呢?for循环设计本身鼓励改变状态和产生副作用,这两者都是错误和不可预测代码的潜在陷阱。我们都知道全局状态不好,应该避免。然而,局部状态和全局状态一样糟糕,只是因为局部状态的规模较小并且不被注意。因此,我们并没有真正解决问题,而是试图将其最小化。对于可变状态,在某个未知的时间点,变量会因某种未知原因而发生变化。此时,您可以花费数小时调试以找出此值更改的原因。光是这件事,我不知道掉了多少根头发。接下来,我想简单谈谈副作用。这个词听起来很烦人,而且副作用……该死!您希望您的程序有副作用吗?当然不是!但什么是副作用?当函数修改其范围之外的内容时,据说函数会产生副作用。它可以是更改变量的值、读取键盘输入、调用API、将数据写入磁盘、打印日志等等。副作用是强大的,但它们也伴随着巨大的责任。应尽可能消除副作用,要么封装在内部,要么控制。有副作用的函数很难测试和推断,所以尽你所能摆脱它。幸运的是,这里无需担心副作用。好了,废话不多说,上代码吧。让我们来看看这个您可能已经看过一千次的典型for循环:constcats=[{name:'Mojo',months:84},{name:'Mao-Mao',months:34},{name:'Waffles',months:4},{name:'Pickles',months:6}]varkittens=[]//典型的拙劣写法:forloopfor(vari=0;i
