刪除數組中的某一個元素


作者:zccst

 

首先定義一個數組如果

var a = [1,2,3,4,5];

比如要求刪除第一個元素,即期望刪除后變成[1,3,4,5],當然要求不使用系統函數

delete a[1];  //不符合需求 [1, undefined, 3, 4, 5]

a[1] = null;  //不符合需求 [1, null, 3, 4, 5]


a.splice(1,1); //不符合需求,能達到效果,但使用了系統函數

既然是學習,順便溫習一下splice的用法,splice有三個參數,前兩個是必須的a.splice( position, howmany, replaceItem1, ..., replaceitemX);

position:      必須。表示起始位置

wantDelNum:必須。要刪除的項目數量。如果設置為 0,則不會刪除項目

replaceItem1:可選。向數組添加的新項目

例如:a.splice(1,1);表示從位置1開始,刪掉1個元素,並且不填充新元素。

 

靠譜的實現方法一:

var a = [1,2,3,4,5];
//delete a[1];
//a[1] = null;
//a.splice(1,1);

function mySplice(arr, index){
    if(index >= 0 && index<arr.length){
        for(var i = index; i < arr.length; i++){
            arr[i] = arr[i+1];
        }
        arr.length = arr.length-1;
    }
    return arr;
}

console.log(mySplice(a,1));

 

靠譜的實現方法二:

 


免責聲明!

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



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