歡迎訪問我的個人博客:http://www.xiaolongwu.cn
他們的共性是都可以操作數據,截取一段數組,
- slice(start,end)
- 從start開始截取到end但是不包括end
- 返回值為截取出來的元素的集合
- 原始的數組不會發生變化
- 參數也支持負數,計算結果為負數加上總長度之后的值
- 參數為負數的前提下,如果相加得到的結果start大於end則返回空數組
//例子
var arr1 = [1,23,44,55,66,77,888,"fff"];
var arr2 = arr1.slice(2,4) //從index為2截取到index為4之前不包括4
console.log(arr2); //[44,55]
console.log(arr1); // [1,23,44,55,66,77,888,"fff"]原始數組沒有被改變
- splice(start,deleteCount,item1,item2.....);
- start參數 開始的位置
- deleteCount 要截取的個數
- 后面的items為要添加的元素
- 如果deleteCount為0,則表示不刪除元素,從start位置開始添加后面的幾個元素到原始的數組里面
- 由被刪除的元素組成的一個數組。如果只刪除了一個元素,則返回只包含一個元素的數組。如果沒有刪除元素,則返回空數組
- 這個方法會改變原始數組,數組的長度會發生變化
//例子
var arr3 = [1,2,3,4,5,6,7,"f1","f2"];
var arr4 = arr3.splice(2,3) //刪除第三個元素以后的三個數組元素(包含第三個元素)
console.log(arr4); //[3,4,5];
console.log(arr3); //[1,2,6,7,"f1","f2"]; 原始數組被改變
var arr5 = arr3.splice(2,0,"wu","leon"); //從第2位開始刪除0個元素,插入"wu","leon"
console.log(arr5); //[] 返回空數組
console.log(arr3); // [1, 2, "wu", "leon", 6, 7, "f1", "f2"]; 原始數組被改變
var arr6 = arr3.splice(2,3,"xiao","long");//從第2位開始刪除3個元素,插入"xiao","long"
console.log(arr6); //["wu", "leon", 6]
console.log(arr3); //[1, 2, "xiao", "long", 7, "f1", "f2"]
var arr7 = arr3.splice(2);//從第三個元素開始刪除所有的元素
console.log(arr7);//["xiao", "long", 7, "f1", "f2"]
console.log(arr3); //[1, 2]
- 數組操作的方法擴展
- push / pop 在數組末尾增/刪元素;
- unshift / shift 在數組首部增/刪元素;
- concat 把一個(或多個)數組和(或)值與原數組拼接,返回拼接后的數組
- join() 把數組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔
- reverse() 顛倒數組中元素的順序
我的github資源地址:https://github.com/js基礎--slice()與splice()的用法和區別你清楚嗎?.md
我的個人博客地址:http://www.xiaolongwu.cn
我的博客園地址:http://www.cnblogs.com/wuxiaolong555
我的CSDN博客地址:https://blog.csdn.net/wxl1555
如果您對我的博客內容有疑惑或質疑的地方,請在下方評論區留言,或郵件給我,共同學習進步。
郵箱:wuxiaolong802@163.com