使用js實現splice方法


splice無疑是最強大的數組方法,出於興趣,現在使用js來實現splice方法,實現之前必須了解splice方法的功能是怎么樣的

功能需求:刪除,插入,替換,而這三個功能是通過改變函數參數來實現的

兩個參數情況(刪除):第一個參數表示要刪除項的索引,第二個參數表示要刪除的項數,

三個以上包括三個參數情況(插入和替換):第一參數表示起始位置,第二個參數表示要刪除的項數(該項為0的話為插入,大於0的話為替換),第三個及以后的參數表示要插入的項。

實現思路描述:要理解js函數中的參數的概念,參數在內部是用一個數組來表示的,在函數體內是通過arguments對象來訪問參數數組的。所以可以通過arguments來實現此方法。

實現代碼:

<script type="text/javascript">
        var arr=[1,2,3,4,5,6,7,8,9];
    //使用js實現splice方法,寫的比較粗糙,對參數判斷不夠細膩
    function jsSplice(){
        var index=arguments[0];
        var num=arguments[1];
        var len=arguments.length;
        var result=[],content=[];
        //刪除
        if(len==2){
            result=arr.slice(0,index).concat(arr.slice(index+num,arr.length));
console.log(result)
        }else if(len>2){
            for(var i=2;i<len;i++){
                content.push(arguments[i]);
            }
            //插入
            if(num==0){
                result=arr.slice(0,index).concat(content,arr.slice(index,arr.length));
                console.log(result);
            //替換
            }else if(num>0){
                result=arr.slice(0,index).concat(content,arr.slice(index+num,arr.length));
                console.log(result);
            }

        //參數個數不對,返回原數組
        }else{
            console.log(arr)
        }
        //刪除第二項
    //jsSplice(1,1);
    //在數組第二項插入兩項100,200
    //jsSplice(1,0,100,200);
    //把數組第二項替換為三項值為:1000,2000,3000
    jsSplice(1,1,1000,2000,3000);
    }

    
</script>

測試結果(只測試替換功能,其余自行測試):

 


免責聲明!

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



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