成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2分鐘編程技巧:不要在代碼中使用循環

開發 前端 移動開發
您應該使用像map、filter和reduce這樣的函數,而不是編寫for或while循環。這是個推薦做法,因為:循環使產生代碼副作用變得容易,而副作用就會使代碼邏輯變成意大利面條,雜亂無章。

2分鐘編程技巧:不要在代碼中使用循環

您應該使用像map、filter和reduce這樣的函數,而不是編寫for或while循環。這是個推薦做法,因為:

循環使產生代碼副作用變得容易,而副作用就會使代碼邏輯變成意大利面條,雜亂無章。

當你試圖同時做不止一件事情時,循環會你陷入痛苦。

函數式編程可以防止代碼產生與感冒藥一樣多的副作用。它迫使你一次只做一件事,而且比循環更具可讀性。

循環,就像指針一樣,是一種簡單的編程方法。它們對于某些關鍵代碼非常有用,但我想會說,我們中很少有人在研究顯卡驅動程序。

讓我們切入正題——這里有一個JavaScript程序的比較。首先,老舊的循環版本: 

  1. const cats = ['Antonio''Squid''Tornado''Avocado''Barnacles''Abroteus'];  
  2. const stringStartsWithA = x => x[0].toLowerCase() === 'a' 
  3. const catsWhoseNameStartsWithA = [];  
  4. for (let i = 0; i < cats.length; i++) { 
  5.   if (stringStartsWithA(cats[i])) { 
  6.     catsWhoseNameStartsWithA.push(cats[i]); 
  7.   } 
  8.  
  9. console.log(catsWhoseNameStartsWithA);  
  10. // Output
  11. // ["Antonio""Avocado""Abroteus"

下面是新式的函數式編程: 

  1. const cats = ['Antonio''Squid''Tornado''Avocado''Barnacles''Abroteus'];  
  2. const stringStartsWithA = x => x[0].toLowerCase() === 'a' 
  3. const catsWhoseNameStartsWithA = cats.filter(stringStartsWithA);  
  4. console.log(catsWhoseNameStartsWithA);  
  5. // Output
  6. // ["Antonio""Avocado""Abroteus"

當然,這是一個簡單的示例,并且很可能是一個非常適合過濾器(filter)的用例。盡管如此,我們還是把5行混亂的代碼變成了….0行?在***個示例中,我們已經使用了一行代碼來聲明數組。

這里的樂趣并沒有到此為止:我們用過濾器來做例子,但還有更多像map, reduce, sort和flatten這樣的用法。它們為我們編寫有創意,優雅,最重要的是易于理解的代碼提供了巨大的空間!

你怎么認為?也許我的例子有失偏頗,也許我完全錯了。請在評論中告訴我-我感謝任何和所有的反饋!

責任編輯:未麗燕 來源: 程序師
相關推薦

2022-08-10 14:36:05

Python循環函數

2021-03-29 08:05:15

User項目安全

2023-09-27 10:19:37

類型video函數

2017-09-27 11:00:50

LinuxBash使用技巧

2021-03-04 21:57:12

Python編程語言計算

2020-07-09 07:37:06

數據庫Redis工具

2023-08-31 09:10:18

JavaScript調試

2019-04-15 14:05:56

MySQLUTF-8數據庫

2020-11-23 16:23:59

CSS設計技術

2017-07-06 08:12:02

索引查詢SQL

2020-08-17 10:50:29

Python代碼get

2013-09-13 14:08:01

2018-11-28 11:20:53

Python函數式編程編程語言

2009-11-25 09:26:39

VS2003代碼

2009-11-12 16:25:35

Oracle嵌套循環

2020-05-22 10:20:27

Shiro架構字符串

2013-12-19 09:20:59

2019-05-08 14:02:52

MySQL索引查詢優化數據庫

2012-06-28 10:26:51

Silverlight

2009-11-25 09:02:12

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级免费毛片 | 中文字幕日韩在线 | 天天综合91 | 国产成人精品在线播放 | 亚洲成网 | 国产亚洲精品久久久久动 | 麻豆av电影网 | 自拍 亚洲 欧美 老师 丝袜 | 精品免费国产视频 | 一二区视频| 国产网站久久 | 嫩呦国产一区二区三区av | 精品国产欧美一区二区 | 九色 在线 | 午夜影院免费体验区 | 国产伦精品一区二区三区精品视频 | 夜夜草天天草 | 欧美在线综合 | 欧美嘿咻| 日韩成人在线播放 | 亚洲一区二区三区视频 | 久久中文字幕一区 | 日韩福利视频 | 一级毛片视频 | 中文字幕 国产精品 | h视频免费在线观看 | 精品国产网 | 婷婷色国产偷v国产偷v小说 | 欧美精品中文 | 亚洲午夜精品视频 | 亚洲精品久久久久久久久久久久久 | 日韩不卡三区 | 亚洲一区电影 | 欧美日本亚洲 | 亚洲人成人一区二区在线观看 | 三a毛片 | 91在线看| 成人高清在线 | 天天躁日日躁狠狠的躁天龙影院 | 99久久精品一区二区成人 | 美女国内精品自产拍在线播放 |