js splice 屬性實現數組的刪除,插入,替換


splice 實現數組的刪除、插入、替換

一、splice 刪除

寫法

array.splice(index,n);

參數含義

index:數組中需要刪除數據的起始位置;

n:需要刪除的元素,數據的個數;

 

二、splice 插入

寫法

array.splice(index,0,data1,data2,....);

參數

index:數組中需要插入數據的起始位置;

0:刪除的個數為0;

data1,data2:需要插入的元素,用逗號隔開

三、splice 替換

寫法

array.splice(index,n,data1,data2,......);

參數

index:需要替換的元素的起始位置;

n:需要替換的元素的個數,實質是刪除;

data1,data2:需要插入元素,用逗號隔開;

 

總的來說,splice實質上是通過刪除元素來實現插入、刪除、替換的;

 

附上 操作數組的方法

push 在數組尾部添加,返回添加后的數組元素的個數

unshift 在數組頭部添加,返回數組添加后元素的個數

shift 刪除數組的第一個元素,返回被刪除的元素

pop 刪除數組的最后一個元素,返回被刪除的元素

splice 刪除、插入、替換    執行的是操作,改變原數組的值,不返回任何值

slice(start,end) 截取數組的一部分,返回截取的數組,start為起始位置,end為結束為止,不包括結束的位置元素

concat    a.concat(b)  將兩個數組拼接在一起,返回一個拼接后的新數組,且a內部的元素在新數組的前部

toString 將數組轉換成字符串    返回一個字符串,toLocalString 實現與toString方法類似,不過在IE下會出現兼容性問題,比如字符前后出現空格,數字出現小數,導致length屬性變化,所以盡量使用string

join(''& '') 將數組以&符號間隔轉換為字符串   返回一個字符串

split(‘’& ‘’) 將字符串以&符號位標記轉換成數組 返回一個新數組

sort(function(a,b){return a-b}) 將數組進行排序,如果沒有function函數,則按字符編碼排序   返回操作后的新數組 

reverse()  將數組進行倒序排序,即將數組的順序顛倒        返回倒序排列后的新數組

valueOf  查看對象內的值,可以返回字符串類型的數組,不常用

charAt(index)獲取字符串制定順序上的元素,返回要查詢位置的元素,不能用於查詢數組元素

 1 <script>
 2     var arr = ['b','a','c'];
 3     console.log(arr.valueOf());// valueOf 返回3 ['b','a','c']
 4 
 5     console.log(arr.sort());// 排序,按照字符編碼 返回 [a,b,c]
 6 
 7     console.log(arr.reverse());//倒序方法  返回 [c,a,b]
 8 
 9     arr.splice(1,0,'newitem')// 插入
10     console.log(arr);  // 返回["c", "newitem", "b", "a"]
11 
12     arr.splice(1,1,'olditem')//替換
13     console.log(arr) // 返回 ["c", "olditem", "b", "a"]
14 
15     console.log(arr.unshift('haha')) //頭部添加‘haha’ 返回長度 5
16 
17     console.log(arr.push('heihei'));//尾部添加‘heihei’返回長度 6
18 
19     console.log(arr.shift()) //頭部刪除  返回haha
20 
21     console.log(arr.pop()) //尾部刪除  返回heihei
22 
23     var arr1 = [1,2,3,4]
24     console.log(arr.concat(arr1)) // 數組合並  返回["c", "olditem", "b", "a", 1, 2, 3, 4]
25 
26     console.log(arr.slice(1,2)) //數組截取 返回 ["olditem"]
27 
28     console.log(arr[0]) //返回 數組的指定位置的元素
29 </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM