首先可以給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...