您现在的位置是:亿华云 > 人工智能
2分钟编程技巧:不要在代码中使用循环
亿华云2025-10-08 23:36:04【人工智能】5人已围观
简介您应该使用像map、filter和reduce这样的函数,而不是编写for或while循环。这是个推荐做法,因为:循环使产生代码副作用变得容易,而副作用就会使代码逻辑变成意大利面条,杂乱无章。当你试图
您应该使用像map、分钟filter和reduce这样的编程不代函数,而不是技巧编写for或while循环。这是码中个推荐做法,因为:
循环使产生代码副作用变得容易,使用而副作用就会使代码逻辑变成意大利面条,循环杂乱无章。分钟
当你试图同时做不止一件事情时,编程不代循环会你陷入痛苦。技巧
函数式编程可以防止代码产生与感冒药一样多的码中副作用。它迫使你一次只做一件事,使用而且比循环更具可读性。循环
循环,分钟就像指针一样,编程不代是技巧一种简单的企商汇编程方法。它们对于某些关键代码非常有用,但我想会说,我们中很少有人在研究显卡驱动程序。
让我们切入正题——这里有一个JavaScript程序的比较。首先,老旧的循环版本:
const cats = [Antonio, Squid, Tornado, Avocado, Barnacles, Abroteus]; const stringStartsWithA = x => x[0].toLowerCase() === a; const catsWhoseNameStartsWithA = []; for (let i = 0; i < cats.length; i++) { if (stringStartsWithA(cats[i])) { catsWhoseNameStartsWithA.push(cats[i]); } } console.log(catsWhoseNameStartsWithA); // Output: // ["Antonio", "Avocado", "Abroteus"]下面是新式的函数式编程:
const cats = [Antonio, Squid, Tornado, Avocado, Barnacles, Abroteus]; const stringStartsWithA = x => x[0].toLowerCase() === a; const catsWhoseNameStartsWithA = cats.filter(stringStartsWithA); console.log(catsWhoseNameStartsWithA); // Output: // ["Antonio", "Avocado", "Abroteus"]当然,这是一个简单的示例,并且很可能是一个非常适合过滤器(filter)的用例。尽管如此,我们还是源码下载把5行混乱的代码变成了….0行?在***个示例中,我们已经使用了一行代码来声明数组。
这里的乐趣并没有到此为止:我们用过滤器来做例子,但还有更多像map, reduce, sort和flatten这样的用法。它们为我们编写有创意,优雅,最重要的是易于理解的代码提供了巨大的空间!
你怎么认为?也许我的例子有失偏颇,也许我完全错了。请在评论中告诉我-我感谢任何和所有的反馈!
很赞哦!(3935)
相关文章
- tk域名是什么域名?新手对tk域名有什么看法?
- 让你的Mac电脑高效起来,推荐几个YYDS的命令行工具
- Spark的两种核心Shuffle详解
- ActiveData在HarmonyOS中的原理分析和运用
- 如果你的潜在终端必须是这个米(域名),那么潜在终端并不多,也没有硬通货,那么你的域名应该在终端有兴趣购买时出售。否则,你可能得自己留着吃。
- Springboot 配置文件、隐私数据脱敏实践
- 深入理解Node.js的Async hooks
- Netty基础招式——ChannelHandler的优秀实践
- 顶级域名可以增加企业品牌的价值。随着经济的快速发展,域名已不再是企业在网络中的独立地位。顶级域名的服务范围、企业产品、综合形象体现等,对于企业单位来说,顶级域名的重要性不言而喻。
- Javascript 中的 CJS、AMD、UMD 和 ESM 是什么?