摘要:換個新話題內容高階函數至少滿足以下條件函數可以作為參數被傳遞函數可以作為返回值被輸出。區別返回值是,不可以鏈式調用返回一個新數組,原數組不會改變結語業精于勤而荒于嬉,行成于思而毀于隨。
初衷上篇其實還有一篇關于閉包的文章,由于在前幾篇中已經涉及到了相關方面,因此閉包文章暫時擱置一下。換個新話題:
內容高階函數:Higher-order function;
至少滿足以下條件:
函數可以作為參數被傳遞;
函數可以作為返回值被輸出。
常見的高階函數有: Map、Reduce、Filter、Sort;
array.map(function(currentValue,index,arr), thisValue)
map() 不會改變原始數組
[55,44,66,11].map(function(currentValue,index,arr){ console.log(currentValue); //map() 方法按照原始數組元素順序依次處理元素 console.log(index); console.log(arr); });
讓數組通過某種計算得到一個新數組
var newArr = [55,44,66,11].map(function(item,index,arr){ return item *10; }); console.log(newArr);//[550, 440, 660, 110]
2. reduce
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
initialValue:傳遞給函數的初始值;
讓數組中的前項和后項做某種計算,并累計最終值。
var newArr = [15.5, 2.3, 1.1, 4.7].reduce(function(total,num){ return total + Math.round(num);//對數組元素進行四舍五入并計算總和 }, 0); console.log(newArr);//24
reduce() 對于空數組是不會執行回調函數
3. filter
array.filter(function(currentValue,index,arr), thisValue)
filter() 不會改變原始數組
var newArr = [32, 33, 12, 40].filter(function(item){ return item > 32; }); console.log(newArr);//[33, 40]
篩選出符合條件的項,組成新數組。
4. forEach
array.forEach(function(currentValue, index, arr), thisValue)
map() 與 forEach() 語法一致,能用`forEach()`做到的,`map()`同樣可以,但是存在區別。
區別:
forEach()返回值是undefined,不可以鏈式調用;
map()返回一個新數組,原數組不會改變.
結語業精于勤而荒于嬉,行成于思而毀于隨。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/6997.html
摘要:原文作者譯者高階函數可以幫助你增強你的,讓你的代碼更具有聲明性。知道什么時候和怎樣使用高階函數是至關重要的。太棒了我們通過使用高階函數減少了許多額外的代碼。 原文:Higher Order Functions: Using Filter, Map and Reduce for More Maintainable Code作者:Guido Schmitz譯者:JeLewine 高階函數可...
摘要:函數的參數能接收變量,那么一個函數就可以接收另一個函數作為參數,這種函數就稱之為高階函數。和不同的是,把傳入的函數依次作用于每個元素,然后根據返回值是還是決定保留還是丟棄該元素。 函數的參數能接收變量,那么一個函數就可以接收另一個函數作為參數,這種函數就稱之為高階函數。注意其中:map和filter返回一個惰性序列,可迭代對象,需要轉化為list >>> a = 3.1415 >>> ...
摘要:歡迎您的支持系列目錄復習資料資料整理個人整理重溫基礎篇重溫基礎對象介紹重溫基礎對象介紹重溫基礎介紹重溫基礎相等性判斷重溫基礎閉包重溫基礎事件本章節復習的是中的高階函數,可以提高我們的開發效率。 本文是 重溫基礎 系列文章的第二十一篇。 今日感受:想家。 本人自己整理的【Cute-JavaScript】資料,包含:【ES6/ES7/ES8/ES9】,【JavaScript基礎...
摘要:也可以直接調用內置方法常用高階函數方法的作用是接收一個函數作為參數,對數組中每個元素按順序調用一次傳入的函數并返回結果,不改變原數組,返回一個新數組。 Ps. 晚上加班到快十點,回來趕緊整理整理這篇文章,今天老大給我推薦了一篇文章,我從寫技術博客中收獲到了什么?- J_Knight_,感受也是很多,自己也需要慢慢養成記錄博客的習慣,即使起步艱難,難以堅持,但還是要讓自己加油加油。 前...
摘要:高階函數如果一個函數操作其他函數,即將其他函數作為參數或將函數作為返回值,那么我們可以將其稱為高階函數。我們可以使用高階函數對一系列操作和值進行抽象。高階函數有多種表現形式。腳本數據集數據處理是高階函數表現突出的一個領域。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項目原文:Higher-Order Functions 譯者:飛龍 協議:CC BY-NC-...
閱讀 1325·2021-11-11 11:00
閱讀 3041·2021-09-24 09:47
閱讀 4951·2021-09-22 15:53
閱讀 960·2021-09-10 10:50
閱讀 3207·2021-09-01 11:40
閱讀 1160·2019-08-30 15:55
閱讀 473·2019-08-30 12:49
閱讀 1049·2019-08-29 17:12