作者: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));
靠譜的實現方法二: