JavaScript根據某個特定的值刪除數組中的指定元素


在項目中,我們經常需要根據某個特定的值刪除數組中的元素,怎么刪除呢?

我們可以用到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的元素

 玩玩兒,嘿嘿


免責聲明!

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



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