十年專注于品牌網站建設 十余年專注于網站建設_小程序開發_APP開發,低調、敢創新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      詳細講解ECMAScript Array slice()、splice()操作方法

      百恒網絡 2012-03-16 6165

      ECMAScript Array slice()、splice()操作方法

      ECMAScript為操作已經包含在數組中的項提供了很多方法。其中,concat()方法可以基于當前數組中的所有項創建一個新數組。具體來說,這個方法會先創建當前數組一個副本,然后將接收到的參數添加到這個副本的末尾,最后返回新構建的數組。在沒有給concat()方法傳遞參數的情況下,它只是復制當前數組并返回副本。如果傳遞給concat()方法的是一或多個數組,則該方法會將這些數組中的每一項都添加到結果數組中。如果傳遞的值不是數組,這些值就會被簡單地添加到結果數組的末尾。下面來看一個例子:

      var colors= ["red", "green", "blue"];

      var colors2=colors. concat( "yellow", ["black", "brown"]);

      南昌網絡公司工程師提醒,如果想要按照升級排序,則compare()函數中的return語句應該返回value2 - valuel。

      alert (colors); //red, green, blue

      alert( colors2); //red, green, blue,yellow, black, brown

      以上代碼開始定義了一個包含3個值的數組colors。然后,基于colors調用了concat()方法,并傳人字符串"yellow"和一個包含"black"和"brown"的數組。最終,結果數組colors2中包含了"red"、"green"、"blue"、"yellow"、"black"和"brown"。至于原來的數組colors,其值仍然保持不變。

      下一個方法是slice(),它能夠基于當前數組中的一或多個項創建一個新數組。slice()方法可以接受一或兩個參數,即要返回項的起始和結束位置。在只有一個參數的情況下,slice()方法返回從該參數指定位置開始到當前數組末尾的所有項。如果有兩個參數,該方法返回起始和結束位置之間的項——但不包括結束位置的項,南昌網頁設計公司工程師提醒,注意,slice()方法不會影響原始數組。請看下面的例子:

      var colors = ["red","green","blue","yellow","purple"];

      var colors2=colors.slice(1);

      var colors3=colors.slice(1,4);

      alert( colors2); //green,blue,yellow,purple

      alert( colors3); //green,blue,yellow

      在這個例子中,開始定義的數組colors包含5項。調用slice()并傳人1會得到一個包含4項的新數組;因為是從位置1開始復制,所以會包含"green"而不會包含"red"。這個新數組colors2中包含的是"green"、"blue"、"yellow"和"purple"。接著,我們再次調用slice()并傳入了1和4,表示復制從位置1開始,到位置3結束。結果數組colors3中包含了"green"、"blue"和"yellow"。

      南昌網站建設公司百恒網絡前端開發工程師提醒廣大站長及從事企業網站建設開發技術人員,如果slice()方法的參數中有一個負數,則用數組長度加上該數來確定相應的位置.例如,在一個包含5項的數組上調用slice(-2,-1)與調用slice(3,4)得到的結果相同.如果結束位置小于起始位置,則返回空數組.

      下面我們來介紹splice()方法,這個方法恐怕要算是最強大的數組方法了,它有很多種用法。

      splice()的主要用途是向數組的中部插入項,但使用這種方法的方式則有如下3種。

      刪除——可以刪除任意數量的項,只需指定2個參數:要刪除的第一項的位置和要刪除的項數。例如,splice(O,2)會刪除數組中的前兩項。

      插入——可以向指定位置插入任意數量的項,只需提供3個參數:起始位置、0(要刪除的項數)和要插入的項。如果要插入多個項,可以再傳人第四、第五,以至任意多個項。例如, splice(2,o,"red","green")會從當前數組的位置2開始插入字符串"red"和"green"。

      替換——可以向指定位置插入任意數量的項,且同時刪除任意數量的項,只需指定3個參數:起始位置、要刪除的項數和要插入的任意數量的項。插入的項數不必與刪除的項數相等。例如,splice(2,l,"red",ugreen")會刪除當前數組位置2的項,然后再從位置2開始插入字符串"red"和"green"。

      splice()方法始終都會返回一個數組,該數組中包含從原始數組中刪除的項(如果沒有刪除任何項,則返回一個空數組)。下面的代碼展示了上述3種使用splice()方法的方式:

      var colors=["redn, "green", "blue"];

      var removed=colors.splice(O,1); //刪除第一項

      alert (colors); //green,blue

      alert (removed); //red,返回的數組中只包含一項

      removed=colors.splice(1,0,"yellow", "orange"); //從位置1開始插入兩項

      alert (colors); //green,yellow, orange,blue

      alert( removed); //返回的是一個空數組

      removed=colors.splice(1,l,"red","purple"); //插入兩項,刪除一項

      alert (colors); //green, red, purple, orange. blue

      alert( removed); //yellow,返回的數組中只包含一項

      上面的例子首先定義了一個包含3項的數組colors。第一次調用splice()方法只是刪除了這個數組的第一項,之后colors還包含"green"和"blue"兩項。第二次調用splice()方法時在位置1插入了兩項,結果colors中包含"green"、"yellow"、"orange"和nblue"。這一次操作沒有刪除項,因此返回了一個空數組。最后一次調用splice()方法刪除了位置1處的一項,然后又插入了"red"和"purple"。在完成以上操作之后,數組colors中包含的是"green"、"red"、"purple"、"orange"和"blue"。

      希望本文對廣大站長或從事企業網站建設公司的團隊有所幫助,如對此不太理解的,可以與南昌做網站公司百恒網絡技術部聯系。我們很高興與廣大站長和從事企業網站建設公司技術人員分享我們的技術和經驗。


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      亚洲精品美女久久久久9999| 国产69精品久久久久9999| 99re6这里只有精品视频| 国产偷窥熟女高潮精品视频| 国产成人精品午夜二三区| 国产在线精品香蕉麻豆| 久久96精品国产| 精品久久一区二区| 久久精品国产亚洲7777| 国产A√精品区二区三区四区| 亚洲国产日韩在线人成下载| 国产精品久久久久国产精品三级| 精品日产卡一卡二卡三入口 | 在线精品国精品国产尤物| 99精品国产成人a∨免费看| 亚洲国产第一站精品蜜芽| 国产人妖乱国产精品人妖| 国产乱人伦偷精品视频不卡| 亚洲日韩国产一区二区三区在线| 日韩精品成人无码专区免费| 久久只有这精品99| 久久精品国产99久久久古代 | 午夜精品在线观看| 国产成人A人亚洲精品无码| 国产精品亚洲а∨无码播放| 在线观看国产精品普通话对白精品| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久久精品国产免大香伊| 精品永久久福利一区二区| 99精品国产在这里白浆| 78成人精品电影在线播放日韩精品电影一区亚洲 | 亚洲国产精品无码久久一区二区| 亚洲精品一品区二品区三品区| 亚洲精品乱码久久久久久蜜桃不卡 | 久久精品人人做人人爱爱| 久久99热久久99精品| 无码A级毛片日韩精品| 精品无码国产AV一区二区三区 | 色老成人精品视频在线观看| 精品一区二区三区无码视频| 日韩中文字幕一区|