亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

lodash數(shù)組篇之3 concat( )

韓冰 / 1763人閱讀

摘要:是一個包含了所有參數(shù)的類數(shù)組對象,比如說第一個參數(shù)可以通過獲取??赡苁呛鸵粯拥脑?,由于箭頭函數(shù)的原因,指向了父級作用域。參數(shù)搭配的變量是一個數(shù)組,該變量將多余的參數(shù)放入數(shù)組中。

創(chuàng)建一個新數(shù)組,將array與任何數(shù)組 或 值連接在一起

自行實現(xiàn)

   concat:function(){
      let length = arguments.length
      let result = []
      if(!length) {
         return result
       }
      for(let i = 0;i

lodash 實現(xiàn)

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));
}

由于參數(shù)的數(shù)量不確定 所以首先想到函數(shù)免費(fèi)贈送的一個參數(shù) arguments。這點(diǎn)和官方的想法是一樣的 。arguments是一個包含了所有參數(shù)的類數(shù)組對象,比如說第一個參數(shù)可以通過arguments[0]獲取。
但是arguments參數(shù)有一個很詭異的地方,無法在箭頭函數(shù)內(nèi)使用,只能在普通的function內(nèi)使用。
可能是和 this 一樣的原因,由于箭頭函數(shù)的原因,指向了父級作用域。

然后最后那里,我是用了es6提供的原生concat方法。lodash用到了他自己實現(xiàn)的一些方法,后面再看是什么東西。

剛剛google的時候都在說es6的新特性 rest 可以替代有很多缺陷的arguments(比如說不是真正的數(shù)組,無法在嚴(yán)格模式和箭頭函數(shù)內(nèi)使用)

ES6 引入 rest 參數(shù)(形式為...變量名),用于獲取函數(shù)的多余參數(shù),這樣就不需要使用arguments對象了。rest 參數(shù)搭配的變量是一個數(shù)組,該變量將多余的參數(shù)放入數(shù)組中。根據(jù)rest concat()函數(shù)可以改成下面這種形式

      concat:(...p) =>{
        let length = p.length
        let result = []
        if(!length) {
            return result
        }
       for(let i = 0;i

美滋滋

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/105537.html

相關(guān)文章

  • lodash數(shù)組篇之2 compact()

    摘要:創(chuàng)建一個新數(shù)組,包含原數(shù)組中所有的非假值元素。例如和都是被認(rèn)為是假值。 創(chuàng)建一個新數(shù)組,包含原數(shù)組中所有的非假值元素。例如false, null, 0, , undefined, 和 NaN 都是被認(rèn)為是假值。 以下是自己實現(xiàn)的compact() compact:(array)=>{ let result = [] //判斷參數(shù)是否是數(shù)組 如果不是...

    robin 評論0 收藏0
  • lodash數(shù)組篇之1 chunk()

    摘要:最近打算去研究下的源碼,準(zhǔn)備把大部分方法都實現(xiàn)一遍。先自己寫,然后在對照源碼。第一個是將數(shù)組拆分成多個長度的區(qū)塊,并將這些區(qū)塊組成一個新數(shù)組。 最近打算去研究下lodash的源碼,準(zhǔn)備把大部分方法都實現(xiàn)一遍。先自己寫,然后在對照源碼。第一個是 chunk 將數(shù)組(array)拆分成多個 size 長度的區(qū)塊,并將這些區(qū)塊組成一個新數(shù)組。 如果array 無法被分割成全部等長的區(qū)塊,那么...

    cangck_X 評論0 收藏0
  • js實用篇之數(shù)組、字符串常用方法

    摘要:常常在開發(fā)中,會使用到很多數(shù)組和字符串的處理方法,這里列舉一些我常用到的一些,方便大家參考使用。數(shù)組轉(zhuǎn)化成字符串,原來的數(shù)組不變。將作為切割字符,結(jié)果存在一個字符串中。補(bǔ)充數(shù)字保留小數(shù),結(jié)果是字符串類型的。 常常在開發(fā)中,會使用到很多js數(shù)組和字符串的處理方法,這里列舉一些我常用到的一些,方便大家參考使用。 數(shù)組方面 push:向數(shù)組尾部增加內(nèi)容,返回的是新數(shù)組的長度。 var arr...

    xiaoxiaozi 評論0 收藏0
  • Lodash 中文文檔 (v3.10.1) - “Chain” 方法

    摘要:中文文檔方法方法創(chuàng)建一個包含的對象以開啟內(nèi)置的方法鏈。注意該方法會修改包裝數(shù)組。返回返回強(qiáng)制轉(zhuǎn)為字符串的值示例執(zhí)行方法鏈隊列并提取未包裝的值別名返回返回已處理的未包裝的值示例 Lodash 中文文檔 (v3.10.1) - Chain 方法 Translated by PeckZegOriginal Docs: Lodash v3.10.1 Docs Chain 方法 _(value)...

    BLUE 評論0 收藏0
  • 前端工程化篇之 Gulp

    摘要:是一個構(gòu)建工具,基于的平臺運(yùn)行,使用的是的模塊化語法。我們使用需要用到的包一個任務(wù),對應(yīng)一個包,對應(yīng)一個處理邏輯對應(yīng)的是同步任務(wù),從左到右,依次執(zhí)行任務(wù)。時間長對應(yīng)的是異步任務(wù),效率高,時間短。 gulp 是一個構(gòu)建工具,基于Node.js的平臺運(yùn)行,使用的是commonJs的模塊化語法。 我們使用gulp需要用到的包 一個TASK任務(wù),對應(yīng)一個包,對應(yīng)一個處理邏輯、 gulp.s...

    Donald 評論0 收藏0

發(fā)表評論

0條評論

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