js刪除陣列裡的某個元素

2022-02-02 04:21:51 字數 2558 閱讀 8064

首先可以給js的陣列物件定義乙個函式,用於查詢指定的元素在陣列中的位置,即索引,**為:

array.prototype.indexof =function(val) 

return -1

;};

然後使用通過得到這個元素的索引,使用js陣列自己固有的函式去刪除這個元素:

**為:

array.prototype.remove = function(val) 

};

這樣就構造了這樣乙個函式,比如我有有乙個陣列:

var emp = ['

abs','

dsf','

sdf','

fd']

假如我們要刪除其中的 'fd' ,就可以使用:

emp.remove('

fd');

splice(index,len,[item])    注釋:該方法會改變原始陣列。·

splice有3個引數,它也可以用來替換/刪除/新增陣列內某乙個或者幾個值

index:陣列開始下標        len: 替換/刪除的長度       item:替換的值,刪除操作的話 item為空

如:arr = ['a','b','c','d']

刪除

//

刪除起始下標為1,長度為1的乙個值(len設定1,如果為0,則陣列不變)

var arr = ['

a','

b','

c','d'

];arr.splice(

1,1);

console.log(arr);

//['a','c','d'];

//刪除起始下標為1,長度為2的乙個值(len設定2)

var arr2 = ['

a','

b','

c','d'

]arr2.splice(

1,2);

console.log(arr2);

//['a','d']

替換

//

替換起始下標為1,長度為1的乙個值為『ttt』,len設定的1

var arr = ['

a','

b','

c','d'

];arr.splice(

1,1,'

ttt'

);console.log(arr);

//['a','ttt','c','d']

var arr2 = ['

a','

b','

c','d'

];arr2.splice(

1,2,'

ttt'

);console.log(arr2);

//['a','ttt','d'] 替換起始下標為1,長度為2的兩個值為『ttt』,len設定的1

新增 ----  len設定為0,item為新增的值

var arr = ['

a','

b','

c','d'

];arr.splice(

1,0,'

ttt'

);console.log(arr);

//['a','ttt','b','c','d'] 表示在下標為1處新增一項'ttt'

2:delete·

delete刪除掉陣列中的元素後,會把該下標出的值置為undefined,陣列的長度不會變

var arr = ['

a','

b','

c','d'

];delete arr[1];

arr;

//["a", undefined × 1, "c", "d"] 中間出現兩個逗號,陣列長度不變,有一項為undefined

在stackoverflow高分回答上看到jquery之父john resig曾經的文章寫過的乙個**:

//

array remove - by john resig (mit licensed)

array.prototype.remove = function(from

, to) ;

下面給出一些實際的用例:

//

移除陣列中的第二項

array.remove(1

);//

移除陣列中的倒數第二項

array.remove(-2

);//

移除陣列中的第二項和第三項(從第二項開始,刪除2個元素)

array.remove(1,2

);//

移除陣列中的最後一項和倒數第二項(陣列中的最後兩項)

array.remove(-2,-1);

這個例子跟上面第乙個的還是挺相似的,不過沒有檢查元素的具體專案,而是通過元素在陣列的下標位置來定位刪除。

js JS刪除陣列裡的某個元素方法

刪除陣列指定的某個元素 首先可以給js的陣列物件定義乙個函式,用於查詢指定的元素在陣列中的位置,即索引,為 array.prototype.indexof function val return 1 然後使用通過得到這個元素的索引,使用js陣列自己固有的函式去刪除這個元素 為 array.proto...

js刪除陣列的某個元素

最近在刷演算法題,我是用js語言去寫的,其中一題需要刪除陣列的某個元素,查了一下資料,總結一下 array.splice start deletecount item1 item2 splice 方法通過刪除現有元素和 或新增新元素來更改乙個陣列的內容。這種方式陣列長度相應改變,原來的陣列索引也相應...

刪除陣列裡undefined元素

方法一 迴圈陣列找到undefined的值利用slice刪除。function removeemptyarrayele arr return arr 方法二 使用boolean過濾陣列中的所有假值。包括undefined,nan,0,false const compact arr arr.filte...