封装一个方法
/**
* 从数组中删除指定对象
* arrData:数组
* objData:需删除的对象
* */
const removeArray = (arrData: any, objData: any) => {
let length = arrData.length
for (let i = 0; i < length; i++) {
if (arrData[i] === objData) {
if (i === 0) {
arrData.shift() //删除并返回数组的第一个元素
return arrData
} else if (i === length - 1) {
arrData.pop() //删除并返回数组的最后一个元素
return arrData
} else {
arrData.splice(i, 1) //删除下标为i的元素
return arrData
}
}
}
}
数据
const data: any = reactive({
repeatData: [
{ name: '周一', id: 1, ischeck: false },
{ name: '周二', id: 2, ischeck: false },
{ name: '周三', id: 3, ischeck: false },
{ name: '周四', id: 4, ischeck: false },
{ name: '周五', id: 5, ischeck: false },
{ name: '周六', id: 6, ischeck: false },
{ name: '周日', id: 7, ischeck: false },
{ name: '不重复', id: 8, ischeck: false }
],
repeatSelarr: [],
})
使用
const
/**点击事件 删除 */
handleDelete(item) {
data.repeatData= removeArray(data.repeatData, item)
//拿到了删除后的数据
console.log(data.repeatData)
},