在項目中,我們經常需要根據某個特定的值刪除數組中的元素,怎么刪除呢?
我們可以用到splice()這個方法

----- splice的定義引用於http://www.w3school.com.cn/jsref/jsref_splice.asp
1.簡單的一維數組:
var arr = [ a, b, c, d, f……]
如上數組,想要刪除b這個元素的方法:
function delItem(item, list) { // 表示先獲取這個元素的下標,然后從這個下標開始計算,刪除長度為1的元素 list.splice(list.indexOf(item), 1) } // 可以將‘b’和數組arr作為參數傳遞給函數delItem // 調用 delItem(b, arr); // 返回的數組為: arr = [a, c, d, f……]
2.包含鍵值對的數組:
var arrayJson= [ { "id": "1", "name": "jack", "age": "24" }, { "id": "2", "name": "mack", "age": "25" }, { "id": "3", "name": "peak", "age": "26" } ]
這種數組根據某個值刪除的話,想要根據一個獨一無二的值(除非,你想刪除比如age都為24的元素也可以),比如每個元素都不重復的id
function deleteItem (item, list) { // 先遍歷list里面的每一個元素,對比item與每個元素的id是否相等,再利用splice的方法刪除 for (var key in fileList) { if (list[key].id === item) { list.splice(key, 1) } } } // 例子,我想刪除數組中id為2的元素 deleteItem(2, arrayJson);
// 即可刪除arrayJson中id為2的元素
玩玩兒,嘿嘿

