摘要:命令式代碼與聲明式代碼前面我們介紹了函數式編程中常見的幾種函數,下面我們要開始轉變觀念了。命令式聲明式我們看下函數的簡單實現。接受個參數這個常見的函數會在我們函數式編程中經常出現的三個函數。一段函數式編程的綜合應用
我們接下來介紹函數式語言中3個常見的函數:Map,Filter,Reduce。
命令式代碼與聲明式代碼前面我們介紹了函數式編程中常見的幾種函數,下面我們要開始轉變觀念了。
命令式代碼的意思就是,我們通過編寫一條又一條指令去讓計算機執行一些動作,這其中一般都會涉及到很多繁雜的細節。 而聲明式就要優雅很多了,我們通過寫表達式的方式來聲明我們想干什么,而不是通過一步一步的指示。
// 命令式
const makes = [];
for (i = 0; i < cars.length; i++) {
makes.push(cars[i].make);
}
// 聲明式
var makes = cars.map(function(car){ return car.make; });
我們看下es5 Map,Filter,Reduce函數的簡單實現。
Array.prototype.map = function(f) {
const newArray = [];
const O = Object(this);
for (let i = 0; i < O.length; i++) {
newArray[i] = f(O[i]);
}
return newArray;
}
Array.prototype.filter = function(pred) {
const newArray = [];
for (var i = 0; i < this.length; ++i) {
if (pred(this[i]))
newArray[newArray.length] = this[i];
}
return newArray;
}
Array.prototype.reduce = function(f, start) {
var acc = start;
for (var i = 0; i < this.length; ++i)
acc = f(this[i], acc); // f() 接受2個參數
return acc;
};
這3個常見的函數會在我們函數式編程中經常出現的三個函數。
有一點需要說明的是,for循環是自然語言的處理結果,永遠是比map快的。這個就需要你自己在編寫代碼的時候對利弊進行權衡。
一段函數式編程的綜合應用
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/82882.html
摘要:自執行函數閉包實現模塊化以樂之名程序員產品經理對作用域,以及閉包知識還沒掌握的小伙伴,可回閱前端進擊的巨人三從作用域走進閉包。參考文檔利用閉包實現模塊化翻譯淺談中的高階函數系列更文請關注專欄前端進擊的巨人,不斷更新中。。。 系列更文前三篇文章,圍繞了一個重要的知識點:函數。函數調用棧、函數執行上下文、函數作用域到閉包。可見不理解函數式編程,代碼都擼不好。 showImg(https:/...
摘要:在學習的過程中時常會聽到一個名次函數式編程,那么究竟什么是函數式編程,函數式編程又有什么優點,這就在這篇博客進行一個簡單的總結吧主要內容函數式編程的概念函數式編程的優點與示例什么是函數式編程首先,我們放下編程的概念,我們來看函數。 在學習 JS 的過程中時常會聽到一個名次——函數式編程,那么究竟什么是函數式編程,函數式編程又有什么優點,這就在這篇博客進行一個簡單的總結吧~ 主要內容: 函...
摘要:通常一個完成的不僅僅包含了還包括了以及相關版本該版本在中使用。基于原型函數先行的語言使用基于原型的的繼承機制,函數是的第一等公民其他相關的語言特性編譯型語言把做好的源程序全部編譯成二進制代碼的可運行程序。 轉載請注明出處,創作不易,更多文章請戳 https://github.com/ZhengMaste... 前言:JavaScript誕生于1995年,它是一門腳本語言,起初的目...
摘要:但是,最好使用差異化的類型定義,函數簽名如下其實二者說的是同一件事。后者的返回值和初始函數的返回值相同,即。破壞式更新和函數式更新的比較三的延遲計算的設計者們在將引入時采取了比較特殊的方式。四匹配模式語言中暫時并未提供這一特性,略。 一、無處不在的函數 一等函數:能夠像普通變量一樣使用的函數稱為一等函數(first-class function)通過::操作符,你可以創建一個方法引用,...
閱讀 2115·2023-04-26 00:50
閱讀 2487·2021-10-13 09:39
閱讀 2220·2021-09-22 15:34
閱讀 1612·2021-09-04 16:41
閱讀 1342·2019-08-30 15:55
閱讀 2440·2019-08-30 15:53
閱讀 1712·2019-08-30 15:52
閱讀 752·2019-08-29 16:19
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要