有些時(shí)候 我們并不確定函數(shù)參數(shù)的長(zhǎng)度;
需求:
我想用實(shí)現(xiàn)一個(gè)數(shù)組內(nèi)所有的元素相加,這里方便的使用了 reduce() 遞歸; 恰好 這個(gè)函數(shù)的參數(shù)我是不知道他的長(zhǎng)度的;
稍微跑題一下,著重的說(shuō)一下 reduce() 這個(gè)函數(shù)的用法:
arr.reduce(callback, initialValue)
callback 接收 4 個(gè)參數(shù):
callback (執(zhí)行數(shù)組中每個(gè)值的函數(shù),包含四個(gè)參數(shù)) 1、previousValue (上一次調(diào)用回調(diào)返回的值,或者是提供的初始值(initialValue)) 2、currentValue (數(shù)組中當(dāng)前被處理的元素) 3、index (當(dāng)前元素在數(shù)組中的索引) 4、array (調(diào)用 reduce 的數(shù)組) initialValue (可選參數(shù),函數(shù)的初始值)
arr.reduce((previousValue, currentValue, index, array) => { return previousValue + currentValue }, [initialValue])
reduce 為數(shù)組中的每一個(gè)元素依次執(zhí)行回調(diào)函數(shù),不包括數(shù)組中被刪除或從未被賦值的元素,reduce 中的 callback 接受四個(gè)參數(shù):初始值(或者上一次回調(diào)函數(shù)的返回值),當(dāng)前元素值,當(dāng)前索引,調(diào)用 reduce 的數(shù)組。
了解了 reduce( ) 函數(shù)以后 我們可以穿一些簡(jiǎn)單的參數(shù) 來(lái)計(jì)算他的返回值了
const add = (num: number, arr: Array): number => { return arr.reduce((previousValue, currentValue, index, array) => { return previousValue + currentValue }, num) }; const arr: Array = [1, 2, 3, 4]; let result = add(10, arr); console.log(result); //20
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/104378.html
摘要:注意變量聲明沒(méi)有指定類型。因此,程序使用類型推斷來(lái)確定變量的數(shù)據(jù)類型,第一次賦值為,設(shè)置為類型。 typescript 的基本類型1.number 數(shù)字類型 example: let val: Number = 22.string 字符串 example: let val: String = 23.Boolean 布爾類型 example: let val: Boolean = fal...
摘要:如果屬性的值不能是,那么它必須在構(gòu)造函數(shù)中進(jìn)行初始化。為帶來(lái)了額外的層靜態(tài)類型。類型檢查可確保這些預(yù)測(cè)能夠?qū)崿F(xiàn)。元素不一定具有相同的類型。相反,在中,和由單獨(dú)的不相交類型處理。類型存在于元級(jí)別。將傳遞給的構(gòu)造函數(shù)。 翻譯:瘋狂的技術(shù)宅原文:http://2ality.com/2018/04/typ... 本文首發(fā)微信公眾號(hào):jingchengyideng歡迎關(guān)注,每天都給你推送新鮮...
摘要:即使中沒(méi)有錯(cuò)誤,仍然會(huì)執(zhí)行,這一點(diǎn)一般都是知道的。我們認(rèn)為這是正確的前進(jìn)道路,兼具戰(zhàn)略性和務(wù)實(shí)性降低使用門(mén)檻開(kāi)發(fā)人員遷移到的障礙之一是從到的并不輕松的遷移。下一步將通過(guò)一系列功能和插件為的平滑過(guò)渡提供支持,并以此回饋社區(qū)。 showImg(https://segmentfault.com/img/remote/1460000017516912?w=1200&h=630); useSt...
摘要:的另一個(gè)核心特性,蘋(píng)果表示也正在開(kāi)發(fā)中,按開(kāi)發(fā)進(jìn)度可能幾個(gè)月后就能與我們見(jiàn)面。是基于的本地化數(shù)據(jù)庫(kù),支持以及瀏覽器環(huán)境。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開(kāi)發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開(kāi)發(fā)教程、工程實(shí)踐、深度閱讀、開(kāi)源項(xiàng)目、巔峰人生等欄目。歡迎關(guān)注【前端之巔】微信公眾號(hào)(ID: frontshow),及時(shí)獲取前端每周清單。 本期是 2017 年的最后一...
摘要:斯坦福宣布使用作為計(jì)算機(jī)課程的首選語(yǔ)言近日,某位有年教學(xué)經(jīng)驗(yàn)的斯坦福教授決定放棄,而使用作為計(jì)算機(jī)入門(mén)課程的教學(xué)語(yǔ)言。斯坦福官方站點(diǎn)將它們新的課程描述為是最流行的構(gòu)建交互式的開(kāi)發(fā)語(yǔ)言,本課程會(huì)用講解中的實(shí)例。 前端每周清單第 11 期:Angular 4.1支持TypeScript 2.3,Vue 2.3優(yōu)化服務(wù)端渲染,優(yōu)秀React界面框架合集 為InfoQ中文站特供稿件,首發(fā)地址為...
閱讀 3741·2021-11-16 11:41
閱讀 2954·2021-09-23 11:45
閱讀 744·2019-08-30 15:44
閱讀 626·2019-08-30 13:10
閱讀 2005·2019-08-30 12:49
閱讀 3589·2019-08-28 17:51
閱讀 1557·2019-08-26 12:20
閱讀 761·2019-08-23 17:56