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>