国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

map, reduce, filter 等高階函數

JaysonWang / 3217人閱讀

摘要:換個新話題內容高階函數至少滿足以下條件函數可以作為參數被傳遞函數可以作為返回值被輸出。區別返回值是,不可以鏈式調用返回一個新數組,原數組不會改變結語業精于勤而荒于嬉,行成于思而毀于隨。

初衷

上篇其實還有一篇關于閉包的文章,由于在前幾篇中已經涉及到了相關方面,因此閉包文章暫時擱置一下。換個新話題:

內容

高階函數:Higher-order function;

至少滿足以下條件:

    函數可以作為參數被傳遞;

    函數可以作為返回值被輸出。

常見的高階函數有: MapReduceFilterSort


1. Map

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

相關文章

  • 【譯】高階函數:利用FilterMapReduce來編寫更易維護的代碼

    摘要:原文作者譯者高階函數可以幫助你增強你的,讓你的代碼更具有聲明性。知道什么時候和怎樣使用高階函數是至關重要的。太棒了我們通過使用高階函數減少了許多額外的代碼。 原文:Higher Order Functions: Using Filter, Map and Reduce for More Maintainable Code作者:Guido Schmitz譯者:JeLewine 高階函數可...

    jone5679 評論0 收藏0
  • Python3的高階函數map,reduce,filter

    摘要:函數的參數能接收變量,那么一個函數就可以接收另一個函數作為參數,這種函數就稱之為高階函數。和不同的是,把傳入的函數依次作用于每個元素,然后根據返回值是還是決定保留還是丟棄該元素。 函數的參數能接收變量,那么一個函數就可以接收另一個函數作為參數,這種函數就稱之為高階函數。注意其中:map和filter返回一個惰性序列,可迭代對象,需要轉化為list >>> a = 3.1415 >>> ...

    Codeing_ls 評論0 收藏0
  • 【重溫基礎】21.高階函數

    摘要:歡迎您的支持系列目錄復習資料資料整理個人整理重溫基礎篇重溫基礎對象介紹重溫基礎對象介紹重溫基礎介紹重溫基礎相等性判斷重溫基礎閉包重溫基礎事件本章節復習的是中的高階函數,可以提高我們的開發效率。 本文是 重溫基礎 系列文章的第二十一篇。 今日感受:想家。 本人自己整理的【Cute-JavaScript】資料,包含:【ES6/ES7/ES8/ES9】,【JavaScript基礎...

    wua_wua2012 評論0 收藏0
  • 【重溫基礎】JS中的常用高階函數介紹

    摘要:也可以直接調用內置方法常用高階函數方法的作用是接收一個函數作為參數,對數組中每個元素按順序調用一次傳入的函數并返回結果,不改變原數組,返回一個新數組。 Ps. 晚上加班到快十點,回來趕緊整理整理這篇文章,今天老大給我推薦了一篇文章,我從寫技術博客中收獲到了什么?- J_Knight_,感受也是很多,自己也需要慢慢養成記錄博客的習慣,即使起步艱難,難以堅持,但還是要讓自己加油加油。 前...

    gitmilk 評論0 收藏0
  • JavaScript 編程精解 中文第三版 五、高階函數

    摘要:高階函數如果一個函數操作其他函數,即將其他函數作為參數或將函數作為返回值,那么我們可以將其稱為高階函數。我們可以使用高階函數對一系列操作和值進行抽象。高階函數有多種表現形式。腳本數據集數據處理是高階函數表現突出的一個領域。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項目原文:Higher-Order Functions 譯者:飛龍 協議:CC BY-NC-...

    blastz 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<