成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

韓冰 / 1715人閱讀

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

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

自行實(shí)現(xiàn)

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

lodash 實(shí)現(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)贈(zèng)送的一個(gè)參數(shù) arguments。這點(diǎn)和官方的想法是一樣的 。arguments是一個(gè)包含了所有參數(shù)的類數(shù)組對(duì)象,比如說第一個(gè)參數(shù)可以通過arguments[0]獲取。
但是arguments參數(shù)有一個(gè)很詭異的地方,無法在箭頭函數(shù)內(nèi)使用,只能在普通的function內(nèi)使用。
可能是和 this 一樣的原因,由于箭頭函數(shù)的原因,指向了父級(jí)作用域。

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

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

ES6 引入 rest 參數(shù)(形式為...變量名),用于獲取函數(shù)的多余參數(shù),這樣就不需要使用arguments對(duì)象了。rest 參數(shù)搭配的變量是一個(gè)數(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://systransis.cn/yun/105537.html

相關(guān)文章

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

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

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

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

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

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

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

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

    BLUE 評(píng)論0 收藏0
  • 前端工程化篇之 Gulp

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

    Donald 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<