小結concat()、slice()、splice()操作方法
今天繼續來總結一下ECMAscript為操作已經包含在陣列中的項提供了很多方法。第一個先講concat()方法。
這個方法可以理解為一種合併。concat()方法的具體用法是:它可以建立當前陣列的一個副本,然後將接受到的引數新增到這個副本的末尾,最後返回新構建的陣列。這裡又分三種情況。(1)在沒有給concat()方法傳遞引數的情況下,它只是複製當前陣列並返回副本。(2)如果傳遞給concat()方法的是一或多個數組,則該方法會將這些陣列中的每一項都新增到結果陣列中。(3)如果傳遞的值不是陣列,這些值就會被簡單地新增到結果陣列的末尾。
分析一下,以上程式碼開始定義了一個包含3個值的陣列colors。然後,基於colors呼叫了concat()方法,並傳入字串“yellow”和一個包含"black"和"brown"的陣列。最終,結果陣列colors2中包含了"red"、"green"、"blue"、"yellow"、"black"和"brown"。至於原來的陣列colors,其值仍然保持不變。注意:concat()方法是在陣列的副本上進行操作並返回新構建的陣列,所以並不會影響到原來的陣列。var colors=["red","green","blue"]; var colors2=colors.concat("yellow",["black","brown"]); alert(colors); alert(colors2);
第二個方法是slice(),它能夠基於當前陣列中的一個或多個項建立一個新陣列。slice()方法可以接受一或兩個引數,即要返回項的起始和結束位置。這裡又產生了兩種情況:(1)在只有一個引數的情況下,slice()方法返回從該引數指定位置開始到當前陣列末尾的所有項。(2)如果有兩個引數,該方法返回起始和結束位置之間的項,注意但不包括結束位置的項。同時還要注意的是,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
注意:如果slice()方法的引數中有一個負數,則用陣列長度加上該數來確定相應的位置。如,在一個包含5項的陣列上呼叫slice(-2,-1)與呼叫slice(3,4)得到的結果相同。如果結束位置小於起始位置,則返回空陣列。最後來介紹splice()方法,這個方法恐怕要算是最強大的陣列方法了,它有很多種用法。splice()的主要用途是向陣列的中部插入項,但使用這種方法的方式則有如下3種:
(1)刪除:可以刪除任意數量的項,只需指定2個引數:要刪除的第一項的位置和要刪除的項數。例如,splice(0,2)會刪除陣列中的前兩項。
(2)插入:可以向指定位置插入任意數量的項,只需提供3個引數:起始位置、0(要刪除的項數)和要插入的項。如
splice(2,0,"red","green")
會從當前陣列的位置2開始插入字串"red"和"green"。
(3)替換:可以向指定位置插入任意數量的項,且同時刪除任意數量的項,只需指定3個引數:起始位置、要刪除的項數和要插入的任意數量的項。插入的項數不必與刪除的項數相等。例如
splice(2,1,"red","green")
會刪除當前陣列位置2的項,然後再從位置2開始插入字串"red"和"green"。
注意:splice()方法始終都會返回一個數組,該陣列中包含從原始陣列中刪除的項(如果沒有刪除任何項,則返回一個空陣列)。下面的程式碼展示了上述3種使用splice()方法的方式。
第一種:刪除第一項
var colors=["red","green","blue"];
var removed=colors.splice(0,1);
alert(colors); //green,blue
alert(removed); //red,返回的陣列中只包含一項
第二種:從位置1開始插入兩項
<span style="font-size:18px;">removed=colors.splice(1,0,"yellow","orange");
alert(colors); //green,yellow,orange,blue
alert(removed); //返回的是一個空陣列</span>
第三種:插入兩項,刪除一項
removed=colors.splice(1,1,"red","purple");
alert(colors);
alert(removed);
相關推薦
小結concat()、slice()、splice()操作方法
今天繼續來總結一下ECMAscript為操作已經包含在陣列中的項提供了很多方法。第一個先講concat()方法。 這個方法可以理解為一種合併。concat()方法的具體用法是:它可以建立當前陣列的一個副本,然後將接受到的引數新增到這個副
JavaScript陣列的操作方法(concat、slice和splice)
ECMAScript 為運算元組中的項提供了很多方法,其中最常用的有:concat( ) 、slice( ) 和 splice( ) 。 concat ( ) concat ( ) 方法可以基於當前陣列中的項建立一個新的陣列。具體來說,這個方法會先建立一個當前陣列的副本,然後將
javascript中substring()、slice()、substr()方法的區別
start 指定 art bsp ava color 目的 開始 www substring()方法用於提取字符串中介於兩個指定下標之間的字符。 stringObject.substring(start,stop)slice() 方法可提取字符串的某個部分,並以新的字
Go語言基礎:array、slice、make和new操作、map
array 陣列宣告和賦值 go的陣列宣告跟C語言很相似,除了陣列型別放在變數名後面【這點跟變數的宣告一樣】。 陣列的定義格式: //一維陣列 var 陣列名[n] 陣列型別 //需要注意的是:'[n]'可以寫成'[...]',go會自動根據元素個數來計
技術筆記:字串、List、陣列、日期等常見操作方法
string類 string s="ABC科學";int i=s.IndexOf("科");//字串的搜尋。 int n=string.Compare(s1,s2);//n=0則兩個相同。n< 0
javascript的字串方法【substring、slice、substr】的區別
老忘,然後看mdn。這裡總結下,記錄一筆,好記性不如爛筆頭: String.prototype.substring: 這個方法傳遞的是字串下標的索引位置,返回新的被擷取的字串,不會改變
Go 資料型別(續)— array、slice、map
Go 將常用的資料結構陣列(array)、切片(slice)、對映(map)實現為內建型別。可以利用 array 在列表中進行多個值的排序,或者使用更加靈活的:slice。字典或雜湊型別同樣可以使用,在 Go 中叫做 map。 1、array 陣列定義
HEVC之tiles、slice、slice segment、CU、PU、TU分析
(一)(1) 編碼樹單元(CTU)和編碼樹塊(CTB)結構:在之前的標準中,編碼層的核心是巨集塊,一個巨集塊包含一個16×16的亮度塊,以及對於常用的4:2:0取樣格式來說還包含兩個8×8的色度塊;而在HEVC中類似的結構為編碼樹單元(CTU),其尺寸由編碼器進行指定且可
slice、substring、substr、concat這幾個不會破壞原始字串的操作方法
字串操作方法中的concat、slice、substring、substr都不會破壞原陣列,會自動返回操作後新的陣列。concat用於連線兩個或多個字串字串,支援鏈式操作,但一般情況下使用加號運算子更簡便快捷。slice、substring、substr都支援一個或兩個引數,
區分slice、splice、split、join方法
關於字串和陣列的方法,我們經常會用到,下面就詳細的區分下slice、splice、split、join方法,加深下記憶並做個筆記。 slice (陣列) 定義和用法 slice()方法提取部分的陣列元素,返回包含提取元素的新陣列,不會改變原陣列。
String的slice、split方法;Array的slice、splice方法
1、字串的slice:用於從原字串取出子字串並返回,不改變原字串。它的第一個引數是子字串的開始位置,第二個引數是子字串的結束位置(不含該位置)。 var s="hello-word"; var r=s.slice(6); console.log(s);//hello-wor
JS陣列的slice()方法傳負數和字串操作函式中的slice()、substr()、substring()
定義和用法 slice() 方法可從已有的陣列中返回選定的元素。 語法 arrayObject.slice(start,end) 引數 描述 start 必需。規定從何處開始選取。如果是負數,那麼它規定從陣列尾部開始算起的位置。也就是說,-1 指最
JS陣列操作(陣列增加、刪除、翻轉、轉字串、取索引、擷取(切片)slice、剪接splice、數組合並)
POP 刪除最後一項 刪除最後一項,並返回刪除元素的值;如果陣列為空則返回undefine var a = [1,2,3,4,5]; a.pop();//a:[1, 2, 3, 4] a.pop();//a:[1, 2, 3] a.pop();//a:[1, 2] shif
js中slice、splice用法與區別
delet 內容 title pan ont 指定 至少 一個 拷貝 1.slice(start,end)(參數可選) slice() 方法返回一個從開始到結束(不包括結束)選擇的數組的一部分淺拷貝到一個新數組對象。原始數組不會被修改。 var a = [‘a‘, ‘b‘
slice()、splice()詳解
log 破壞 light clas logs 數組 刪除 ora 自己 前面在開發的時候對於slice()、splice()這兩個函數老是模糊不清,不清楚具體的參數傳參以及用法。 今天寫個筆記專門記錄一下。 1、slice() 從指定位置刪除數組裏面的元素,可以傳一個或者
python基礎(5)---整型、字符串、列表、元組、字典內置方法和文件操作介紹
進制 res cde __init__ little 計算 技術分享 圖片 pos 對於python而言,一切事物都是對象,對象是基於類創建的,對象繼承了類的屬性,方法等特性 1.int 首先,我們來查看下int包含了哪些函數 # python3.x di
Python 中的字符串、字典操作方法
art 長度 capital cap 指定 對象 位置 test 大括號 一、字符串 在python中字符串是一種重要數據類型。其他數據類型分別為: 數字-number -------- int、long、float、complex這幾種 字符串-string -----
用 splice 函數分別實現 push、pop、shift、unshift 的方法
需要 param sam scrip eve code 函數實現 () ava 主要需要註意的是不同方法他們本身返回的值應該是什麽,是數組當前的長度,還是取出的元素的值,再在splice函數裏面進行相應的return就可以了。具體如下: 用 splice函數實現 pu
Python學習筆記字符串操作之isalpha()、isalnum()、isdecimal()、isspace()和istitle()方法
itl brush .com light supper isalnum 如果 小寫 分割 隨筆記錄方便自己和同路人查閱。 #------------------------------------------------我是可恥的分割線------------------
sessionStorage、localStorage、cookie方法小結
特性 Cookie localStorage sessionStorage 資料的生命期 一般由伺服器生成,可設定失效時間。如果在瀏覽器端生成Cookie,預設是關閉瀏覽器後失效 除非