1. 删除数组中某个对应的对象
例如:
let data1 = [
{id:1, name:"lili"},
{id:2, name:"xixi"}]
let data2 = 1
// 效果,返回新数组
removeArrMember(data1, data2)
let data3 = [
{id:2, name:"xixi"}]
removeArrMember(arr, obj) {
let newArr = [];
for (let v of arr) {
let flag = true;
if (v.id == obj) {
flag = false;
}
if (flag) {
newArr.push(v);
}
}
return newArr;
},
2.删除数组中重复的所有对象
例如:
let data1 = [
{id:1, name:"lili"},
{id:3, name:"juju"},
{id:2, name:"xixi"}
]
let data2 = [
{id:3, name:"juju"},
{id:2, name:"xixi"}
]
}
// 效果,返回新数组
let data3 = [
{id:1, name:"lili"}
]
removeAllMember(_arr, _del) {
_arr.map((v, index) => {
_del.forEach((va) => {
if (va.id === v.id) {
if (_arr[index].key) {
return;
}
_arr[index].key = 1;
}
});
});
let arrObj1 = [];
_arr.map((v) => {
if (!v.key) {
arrObj1.push(v);
}
});
return arrObj1;
},
3. 删除数组中重复的多余对象
例如
let data1 = [
{id:1, name:"xixi"},
{id:1, name:"xixi"},
{id:2, name:"hh"},
{id:3, name:"lancy"},]
// 效果, 返回新数组
removeMember(data1)
let data1 = [
{id:1, name:"xixi"},
{id:2, name:"hh"},
{id:3, name:"lancy"},]
removeMember(data) {
let newArr = [];
for (let v of data) {
let flag = true; //建立标记,判断数据是否重复,true为不重复
for (let k of newArr) {
//循环新数组的内容
if (v.id == k.id) {
console.log("已经删除了的", v);
//让json数组对象的内容与新数组的内容作比较,相同的话,改变标记为false
flag = false;
}
}
if (flag) {
//判断是否重复
console.log("没有删除的", v);
newArr.push(v); //不重复的放入新数组。 新数组的内容会继续进行上边的循环。
}
}
return newArr;
},
4.移除数组中对应的对象
例如:
let data1 = [1,2,3,4,5]
let data2 = 1
// 效果,改变原数组
removeArray(data1, data2)
data1 = [2,3,4,5]
removeArray(_arr, _obj) {
let length = _arr.length;
console.log(_arr);
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;
}
}
}
},