开发人员每天面临的几乎所有问题都可以通过解决一组较小的问题来解决,针对单个明确定义的问题的小解决方案。这些解决方案可以最好地描述为“纯函数”。,尽管这些函数中的大多数是在不同的库中实现的,但重要的是要了解如何以及何时将困难的问题分解为更小的问题。这种解决问题的思维方式将提高我们的开发效率,并使我们成为更好的开发人员。,今天的文章中,我分享的是我经常用来解决各种问题的 20 个有用的“纯函数”的无序集合,希望对你也有用。,下面,我们开始吧。,给定一个对象或数组,函数将返回指定路径的值,否则为 null。,确保值在指定范围内,否则“clamp”到最接近的最小值和最大值。,在执行下一个操作之前等待指定的持续时间(以毫秒为单位)。,根据键控功能对对象中的相关项进行分组和索引。,根据键控功能创建包含相关项目的子列表。,获取列表的第一个元素。这个函数对于编写干净易读的代码很有用。,获取列表中除第一个元素之外的所有元素。这个函数对于编写干净易读的代码很有用。,通过递归地从嵌套子列表中提取所有项目来创建一个平面列表。,查找键控函数定义的两个列表中存在的所有值。,通过键控函数确定的值对列表中的每个元素进行索引。,查找第一个列表中不存在于第二个列表中的所有项目,由键控功能确定。,如果给定函数抛出错误,则返回默认值。,计算两点 p1 和 p2 之间的距离。,从列表中删除元素,从第一个元素开始,直到满足 som 谓词。,给定一些产生每个元素的单独值的函数,计算列表中所有元素的总和。,给定一个评估函数,创建一个升序比较器函数。,给定一个评估函数,创建一个降序比较器函数。,在满足给定predicate的索引中找到第一个键值。,将给定列表的值拆分为两个列表,一个包含predicate函数评估为真值的值,另一个包含假值。,执行从左到右的功能组合。所有额外的参数都将传递给列表中的第一个函数,因此可以有任何数量。结果将在第二个传递,第二个的结果将传递给第三个,……以此类推,直到处理完所有函数。,尽管所有这些功能对于帮助我们解决正在处理的问题非常有用,但最重要的是,我们要知道如何将复杂困难的问题进行分解,这样就可以独立解决每个明确的小问题。一旦你掌握了这个解决问题的小技巧,那么你已经在成为一名优秀的开发者的路上了!,如果你觉得我今天分享的内容对你有所帮助,请点赞我,关注我,同时,将这篇文章分享给你身边做开发的朋友,也许能够帮助到他。,最后,感谢你的阅读,祝编程愉快!
© 版权声明
文章版权归作者所有,未经允许请勿转载。