摘要:是一個包含了所有參數的類數組對象,比如說第一個參數可以通過獲取。可能是和一樣的原因,由于箭頭函數的原因,指向了父級作用域。參數搭配的變量是一個數組,該變量將多余的參數放入數組中。
創建一個新數組,將array與任何數組 或 值連接在一起
自行實現
concat:function(){ let length = arguments.length let result = [] if(!length) { return result } for(let i = 0;ilodash 實現
function concat() { var length = arguments.length; if (!length) { return []; } var args = Array(length - 1), array = arguments[0], index = length; while (index--) { args[index - 1] = arguments[index]; } return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); }由于參數的數量不確定 所以首先想到函數免費贈送的一個參數 arguments。這點和官方的想法是一樣的 。arguments是一個包含了所有參數的類數組對象,比如說第一個參數可以通過arguments[0]獲取。
但是arguments參數有一個很詭異的地方,無法在箭頭函數內使用,只能在普通的function內使用。
可能是和 this 一樣的原因,由于箭頭函數的原因,指向了父級作用域。然后最后那里,我是用了es6提供的原生concat方法。lodash用到了他自己實現的一些方法,后面再看是什么東西。
剛剛google的時候都在說es6的新特性 rest 可以替代有很多缺陷的arguments(比如說不是真正的數組,無法在嚴格模式和箭頭函數內使用)
ES6 引入 rest 參數(形式為...變量名),用于獲取函數的多余參數,這樣就不需要使用arguments對象了。rest 參數搭配的變量是一個數組,該變量將多余的參數放入數組中。根據rest concat()函數可以改成下面這種形式
concat:(...p) =>{ let length = p.length let result = [] if(!length) { return result } for(let i = 0;i美滋滋
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105537.html
摘要:創建一個新數組,包含原數組中所有的非假值元素。例如和都是被認為是假值。 創建一個新數組,包含原數組中所有的非假值元素。例如false, null, 0, , undefined, 和 NaN 都是被認為是假值。 以下是自己實現的compact() compact:(array)=>{ let result = [] //判斷參數是否是數組 如果不是...
摘要:最近打算去研究下的源碼,準備把大部分方法都實現一遍。先自己寫,然后在對照源碼。第一個是將數組拆分成多個長度的區塊,并將這些區塊組成一個新數組。 最近打算去研究下lodash的源碼,準備把大部分方法都實現一遍。先自己寫,然后在對照源碼。第一個是 chunk 將數組(array)拆分成多個 size 長度的區塊,并將這些區塊組成一個新數組。 如果array 無法被分割成全部等長的區塊,那么...
摘要:常常在開發中,會使用到很多數組和字符串的處理方法,這里列舉一些我常用到的一些,方便大家參考使用。數組轉化成字符串,原來的數組不變。將作為切割字符,結果存在一個字符串中。補充數字保留小數,結果是字符串類型的。 常常在開發中,會使用到很多js數組和字符串的處理方法,這里列舉一些我常用到的一些,方便大家參考使用。 數組方面 push:向數組尾部增加內容,返回的是新數組的長度。 var arr...
摘要:中文文檔方法方法創建一個包含的對象以開啟內置的方法鏈。注意該方法會修改包裝數組。返回返回強制轉為字符串的值示例執行方法鏈隊列并提取未包裝的值別名返回返回已處理的未包裝的值示例 Lodash 中文文檔 (v3.10.1) - Chain 方法 Translated by PeckZegOriginal Docs: Lodash v3.10.1 Docs Chain 方法 _(value)...
摘要:是一個構建工具,基于的平臺運行,使用的是的模塊化語法。我們使用需要用到的包一個任務,對應一個包,對應一個處理邏輯對應的是同步任務,從左到右,依次執行任務。時間長對應的是異步任務,效率高,時間短。 gulp 是一個構建工具,基于Node.js的平臺運行,使用的是commonJs的模塊化語法。 我們使用gulp需要用到的包 一個TASK任務,對應一個包,對應一個處理邏輯、 gulp.s...
閱讀 3138·2021-11-24 10:24
閱讀 2930·2021-11-11 16:54
閱讀 3066·2021-09-22 15:55
閱讀 2027·2019-08-30 15:44
閱讀 1901·2019-08-29 18:41
閱讀 2761·2019-08-29 13:43
閱讀 3053·2019-08-29 12:51
閱讀 1172·2019-08-26 12:19