摘要:方法接收一個函數作為累加器,數組中的每個值從左到右開始縮減,最終為一個值。為數組中的每一個元素依次執行回調函數,不包括數組中被刪除或從未被賦值的元素,接受四個參數初始值或者上一次回調函數的返回值,當前元素值,當前索引,調用的數組。
reduce() 方法接收一個函數作為累加器(accumulator),數組中的每個值(從左到右)開始縮減,最終為一個值。
reduce 為數組中的每一個元素依次執行回調函數,不包括數組中被刪除或從未被賦值的元素,接受四個參數:初始值(或者上一次回調函數的返回值),當前元素值,當前索引,調用 reduce 的數組。
語法:arr.reduce(callback,[initialValue])
previousValue (上一次調用回調返回的值,或者是提供的初始值(initialValue))
currentValue (數組中當前被處理的元素)
index (當前元素在數組中的索引)
array (調用 reduce 的數組)
今天在看koa的源碼,看到其中用到個only模塊,去看了一下該模塊,整個模塊就一個簡單的返回reduce方法操作的對象:
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; }, {}); };
通過對reduce概念的理解,這個模塊主要是想新建并返回一個obj對象中存在的keys的object對象。
var a = { env : "development", proxy : false, subdomainOffset : 2 } only(a,["env","proxy"]) // {env:"development",proxy : false}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78321.html
摘要:用來指定按某種順序進行排列的函數。如果省略,元素按照轉換為的字符串的各個字符的位點進行排序。其中為可選參數,當執行回調函數時用作的值參考對象。數組中正在處理的元素。在沒有初始值的空數組上調用將報錯。 1. Array.prototype.push() 像數組一樣使用對象: var obj = { length: 0, addElem: function addElem...
摘要:正文和中新增的的數組迭代方法如下其中,是新增的,其余都是新增的。指數組后,返回過濾后的新數組。它的參數跟方法是一樣的所有數組成員依次執行回調函數,直到找出第一個返回值為的成員,然后返回該成員。 前言 ES5和ES6中新增了不少東西,對于數組而言,新增了不少迭代方法,讓我們可以拋棄for循環,更方便的寫JS代碼。 正文 ES5和ES6中新增的的數組迭代方法如下: forEach map...
摘要:接下來,我們換一種思路,用一個相對較新的來實現方法。從這道題目看出,相比考察死記硬背,這樣的實現更有意義。對數組的操作我們不能陌生,其中方法更要做到駕輕就熟。最后,我們再看下社區上著名的和的實現。 有不少剛入行的同學跟我說:JavaScript 很多 API 記不清楚怎么辦?數組的這方法、那方法總是傻傻分不清楚,該如何是好?操作 DOM 的方式今天記,明天忘,真讓人奔潰! 甚至有的開發...
摘要:接下來,我們換一種思路,用一個相對較新的來實現方法。從這道題目看出,相比考察死記硬背,這樣的實現更有意義。對數組的操作我們不能陌生,其中方法更要做到駕輕就熟。最后,我們再看下社區上著名的和的實現。 有不少剛入行的同學跟我說:JavaScript 很多 API 記不清楚怎么辦?數組的這方法、那方法總是傻傻分不清楚,該如何是好?操作 DOM 的方式今天記,明天忘,真讓人奔潰! 甚至有的開發...
摘要:數組的特別之處在于,當使用小于的非負整數作為屬性名時數組會自動維護其屬性值。返回的數組包含第一個參數指定的位置和所有到但不含第二個參數指定的位置之間的所有數組元素。數組中只需有一項滿足給定條件則返回。 概念 JavaScript數組是JavaScript對象的特殊形式。數組索引實際上和碰巧是整數的屬性名差不多,使用方括號訪問數組元素就像用方括號訪問對象的屬性一樣。JavaScript將...
閱讀 1164·2021-09-10 10:51
閱讀 896·2019-08-30 15:53
閱讀 2724·2019-08-30 12:50
閱讀 976·2019-08-30 11:07
閱讀 1990·2019-08-30 10:50
閱讀 3598·2019-08-29 18:47
閱讀 1308·2019-08-29 18:44
閱讀 1599·2019-08-29 17:01