鍍金池/ 問答/HTML5  HTML/ 刪除數(shù)組中的元素,怎么將刪除元素的id組成一個(gè)數(shù)組

刪除數(shù)組中的元素,怎么將刪除元素的id組成一個(gè)數(shù)組

removeCost: function (item) {

  let index = this.form.addReceiptsCostVOList.indexOf(item)
    let ids = []
  for (var i = 0; i < this.form.addReceiptsCostVOList.length; i++) {
    ids.push(item.costId)
    this.form.delCostIds = ids
  }
  if (index !== -1) {
      this.form.addReceiptsCostVOList.splice(index, 1)
    }
      console.log('form', this.form)
}
想著在刪除一條數(shù)據(jù)后,獲取刪除數(shù)據(jù)的id,組成一個(gè)數(shù)組,怎么刪除多條數(shù)據(jù),獲取多個(gè)id ,怎么設(shè)置循環(huán)條件
回答
編輯回答
短嘆

可以考慮 filter 過濾掉包含 item數(shù)組里的id的元素

2017年9月30日 09:42
編輯回答
解夏

可以考慮使用閉包函數(shù)改造一下, 需要注意下this指向

removeCost: (() => {
  let ids = []
  this.form.delCostIds = ids
  return (item) => {
     let index = this.form.addReceiptsCostVOList.indexOf(item)
     if (index !== -1) {
         ids.push(item.costId)
         this.form.addReceiptsCostVOList.splice(index, 1)
     }
  }
})()
2018年3月11日 04:14
編輯回答
拽很帥
removeCost: function (item) {
  let index = this.form.addReceiptsCostVOList.indexOf(item)
  let ids = []
  for (var i = 0; i < this.form.addReceiptsCostVOList.length; i++) {
    ids.push(item.costId)
  }
  this.form.delCostIds = ids
  for (let i = 0; i < ids.length; i++) {
    this.form.addReceiptsCostVOList.splice(ids.length - 1 - i, 1)
  }
  console.log('form', this.form)
}
2017年8月16日 18:34