在开发中,我们往往会遇到一个场景,根据某个属性或者某个值,删除在数组中包含改属性或者该值的项,保留其它项的场景,分享几个实用方法
1、知道要删除项的下标值
index为删除项的下标值 arr为源数组
const arrRemoveIndex = function (index, arr) {
if (!arr || arr.length == 0) {
return []
}
arr.splice(index, 1) return arr
}
2、知道要删除项的值
it 为要删除项的值 arr为源数组
const arrRemove = function (it, arr) {
if (!arr || arr.length == 0) {
return []
}
let flag = arr.indexOf(it)
if (flag > -1) {
arr.splice(flag, 1)
return arr
} else {
console.log("未查找到该元素")
}
}
3、如果要删除项为对象,我们需要知道该对象属性中的唯一值
attr是目标数组中的属性名称,value是要删除的属性名称对应的值
const arrRemoveJson = function (arr, attr, value) {
if (!arr || arr.length == 0) {
return []
}
let newArr = arr.filter(function (item, index) {
return item[attr] != value
})
return newArr
}