簡體   English   中英

在JavaScript中使用刪除運算符

[英]using delete operator in javascript

使用delete objec.prop3 [1]刪除對象屬性后,該對象屬性的位置將替換為null。

例如:

objec: {
  prop1: "aa",
  prop2: "bb",
  prop3: [{
    item1: "i1",
    item2: "i2"
  }, {
    item1: "i3",
    item2: "i4"
  }]
}
for deleting {
  item1: "i3",
  item2: "i4"
}

我在用

for (i = 0; i < objec.prop3.length; i++) {
  if (objec.prop3[i].item2 == "i4") {
    delete object.prop3[i]
  }
}
obtained output:
  objec: {
    prop1: "aa",
    prop2: "bb",
    prop3: [{
        item1: "i1",
        item2: "i2"
      },
      null
    ]
  }
required output:
  objec: {
    prop1: "aa",
    prop2: "bb",
    prop3: [{
      item1: "i1",
      item2: "i2"
    }]
  }

您正在嘗試從數組而不是鍵值對中刪除一個元素,這樣做不能使用delete而是使用某種方法從數組中刪除一個元素。

for (i = 0; i < objec.prop3.length; i++) {
  if (objec.prop3[i].item2 == "i4") {
    object.prop3.splice(i, 1);
  }
}

splice()方法在數組中添加/刪除項目,並返回刪除的項目。

注意:此方法更改原始數組。

array.splice(index,howmany,item1,.....,itemX)

索引:必填。 一個整數,指定要在什么位置添加/刪除項目,請使用負值指定從數組末尾開始的位置

數量:必填。 要刪除的項目數。 如果設置為0,則不會刪除任何項目

item1,...,itemX:可選。 要添加到數組中的新項目

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM