js删除数组中指定对象



需求说明


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


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

js删除数组中指定对象_前端

js删除数组中指定对象_javascript_02

从数组中移除指定对象函数封装 ​​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)
},