摘要:方法接收一個(gè)函數(shù)作為累加器,數(shù)組中的每個(gè)值從左到右開(kāi)始縮減,最終為一個(gè)值。為數(shù)組中的每一個(gè)元素依次執(zhí)行回調(diào)函數(shù),不包括數(shù)組中被刪除或從未被賦值的元素,接受四個(gè)參數(shù)初始值或者上一次回調(diào)函數(shù)的返回值,當(dāng)前元素值,當(dāng)前索引,調(diào)用的數(shù)組。
reduce() 方法接收一個(gè)函數(shù)作為累加器(accumulator),數(shù)組中的每個(gè)值(從左到右)開(kāi)始縮減,最終為一個(gè)值。
reduce 為數(shù)組中的每一個(gè)元素依次執(zhí)行回調(diào)函數(shù),不包括數(shù)組中被刪除或從未被賦值的元素,接受四個(gè)參數(shù):初始值(或者上一次回調(diào)函數(shù)的返回值),當(dāng)前元素值,當(dāng)前索引,調(diào)用 reduce 的數(shù)組。
語(yǔ)法:arr.reduce(callback,[initialValue])
previousValue (上一次調(diào)用回調(diào)返回的值,或者是提供的初始值(initialValue))
currentValue (數(shù)組中當(dāng)前被處理的元素)
index (當(dāng)前元素在數(shù)組中的索引)
array (調(diào)用 reduce 的數(shù)組)
今天在看koa的源碼,看到其中用到個(gè)only模塊,去看了一下該模塊,整個(gè)模塊就一個(gè)簡(jiǎn)單的返回reduce方法操作的對(duì)象:
var only = function(obj, keys){ obj = obj || {}; if ("string" == typeof keys) keys = keys.split(/ +/); return keys.reduce(function(ret, key){ if (null == obj[key]) return ret; ret[key] = obj[key]; return ret; }, {}); };
通過(guò)對(duì)reduce概念的理解,這個(gè)模塊主要是想新建并返回一個(gè)obj對(duì)象中存在的keys的object對(duì)象。
var a = { env : "development", proxy : false, subdomainOffset : 2 } only(a,["env","proxy"]) // {env:"development",proxy : false}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/78321.html
摘要:用來(lái)指定按某種順序進(jìn)行排列的函數(shù)。如果省略,元素按照轉(zhuǎn)換為的字符串的各個(gè)字符的位點(diǎn)進(jìn)行排序。其中為可選參數(shù),當(dāng)執(zhí)行回調(diào)函數(shù)時(shí)用作的值參考對(duì)象。數(shù)組中正在處理的元素。在沒(méi)有初始值的空數(shù)組上調(diào)用將報(bào)錯(cuò)。 1. Array.prototype.push() 像數(shù)組一樣使用對(duì)象: var obj = { length: 0, addElem: function addElem...
摘要:正文和中新增的的數(shù)組迭代方法如下其中,是新增的,其余都是新增的。指數(shù)組后,返回過(guò)濾后的新數(shù)組。它的參數(shù)跟方法是一樣的所有數(shù)組成員依次執(zhí)行回調(diào)函數(shù),直到找出第一個(gè)返回值為的成員,然后返回該成員。 前言 ES5和ES6中新增了不少東西,對(duì)于數(shù)組而言,新增了不少迭代方法,讓我們可以?huà)仐塮or循環(huán),更方便的寫(xiě)JS代碼。 正文 ES5和ES6中新增的的數(shù)組迭代方法如下: forEach map...
摘要:接下來(lái),我們換一種思路,用一個(gè)相對(duì)較新的來(lái)實(shí)現(xiàn)方法。從這道題目看出,相比考察死記硬背,這樣的實(shí)現(xiàn)更有意義。對(duì)數(shù)組的操作我們不能陌生,其中方法更要做到駕輕就熟。最后,我們?cè)倏聪律鐓^(qū)上著名的和的實(shí)現(xiàn)。 有不少剛?cè)胄械耐瑢W(xué)跟我說(shuō):JavaScript 很多 API 記不清楚怎么辦?數(shù)組的這方法、那方法總是傻傻分不清楚,該如何是好?操作 DOM 的方式今天記,明天忘,真讓人奔潰! 甚至有的開(kāi)發(fā)...
摘要:接下來(lái),我們換一種思路,用一個(gè)相對(duì)較新的來(lái)實(shí)現(xiàn)方法。從這道題目看出,相比考察死記硬背,這樣的實(shí)現(xiàn)更有意義。對(duì)數(shù)組的操作我們不能陌生,其中方法更要做到駕輕就熟。最后,我們?cè)倏聪律鐓^(qū)上著名的和的實(shí)現(xiàn)。 有不少剛?cè)胄械耐瑢W(xué)跟我說(shuō):JavaScript 很多 API 記不清楚怎么辦?數(shù)組的這方法、那方法總是傻傻分不清楚,該如何是好?操作 DOM 的方式今天記,明天忘,真讓人奔潰! 甚至有的開(kāi)發(fā)...
摘要:數(shù)組的特別之處在于,當(dāng)使用小于的非負(fù)整數(shù)作為屬性名時(shí)數(shù)組會(huì)自動(dòng)維護(hù)其屬性值。返回的數(shù)組包含第一個(gè)參數(shù)指定的位置和所有到但不含第二個(gè)參數(shù)指定的位置之間的所有數(shù)組元素。數(shù)組中只需有一項(xiàng)滿(mǎn)足給定條件則返回。 概念 JavaScript數(shù)組是JavaScript對(duì)象的特殊形式。數(shù)組索引實(shí)際上和碰巧是整數(shù)的屬性名差不多,使用方括號(hào)訪(fǎng)問(wèn)數(shù)組元素就像用方括號(hào)訪(fǎng)問(wèn)對(duì)象的屬性一樣。JavaScript將...
閱讀 1237·2021-09-10 10:51
閱讀 986·2019-08-30 15:53
閱讀 2793·2019-08-30 12:50
閱讀 1038·2019-08-30 11:07
閱讀 2052·2019-08-30 10:50
閱讀 3687·2019-08-29 18:47
閱讀 1372·2019-08-29 18:44
閱讀 1661·2019-08-29 17:01