js基礎--slice()與splice()的用法和區別你清楚嗎?


歡迎訪問我的個人博客:http://www.xiaolongwu.cn

他們的共性是都可以操作數據,截取一段數組,

  1. 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"]原始數組沒有被改變
  1. 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]
        
  1. 數組操作的方法擴展
    • 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


免責聲明!

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



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