需求说明

点击删除按钮删除指定行数据,即删除数组中指定对象。

_arr表示一个Array数组,里面包括了很多的对象如下图:
数据展示

数组对象

从数组中移除指定对象函数封装 removeArray


/** 
 * 从数组中删除指定对象
 *  _arr:数组
 *  _obj:需删除的对象
 * */
export function removeArray(_arr, _obj) {
  let length = _arr.length
  for (let i = 0; i < length; i++) {
    if (_arr[i] === _obj) {
      if (i === 0) {
        _arr.shift() //删除并返回数组的第一个元素
        return _arr
      } else if (i === length - 1) {
        _arr.pop()  //删除并返回数组的最后一个元素
        return _arr
      } else {
        _arr.splice(i, 1) //删除下标为i的元素
        return _arr
      }
    }
  }
}

从数组中获取指定对象索引函数封装 getArrayIndex

/** 从数组中获取指定对象索引 */
function getArrayIndex (_arr,_obj) {
            let len = _arr.length;
            for(let i = 0; i < len; i++)
            {
                if(_arr[i] == _obj)
                {
                    return parseInt(i);
                }
            }
            return -1;
        };

Vue中调用函数使用

  /** 删除  */
    handleDelete(row) {
      const id = row.id
      this.tableData = removeArray(this.tableData,row)
      console.log(this.tableData)
    },
Logo

前往低代码交流专区

更多推荐