1.删除数组中的某个指定元素
let arr = [1,2,3];
const ind = arr.indexOf(2);
if(ind>-1){
arr.splice(ind,1);
}
console.log(arr);//[1, 3]
2.删除数组中的指定数组对象
1)遍历数组
let arr=[1,2,2,3];
const delArr=['2','4'];
delArr.forEach((value,index)=>{
})
2)filter
let arr = [1, 3, 5, 7, 9];
arr = arr.filter(item => item !== 5&&item !== 7);
console.log(arr);//[1,3,9]
或
let arr = [1,,1,2,3, 3, 5, 7, 9];
let delArr=[1,3]
arr = arr.filter(item => {
let bool=true;
delArr.forEach(itemChild=>{
if(item==itemChild){
bool=false;
}
})
if(bool){
return item
}
});
console.log(arr);//[2,5,7,9]
3.删除重复元素
1)new set()
let arr3=[1,2,2,3,4,5,6,7,8,8,8,8];
let n=Array.from(new Set(arr3));//或 n=[...new Set(arr)]
console.log(n);//[1, 2, 3, 4, 5, 6, 7, 8]
2)indexOf
function fn(arr){
let newArr = []
arr.forEach((val)=>{
if(newArr.indexOf(val) == -1){
newArr.push(val)
}
})
return newArr
}
fn([1,2,3,2]);//[1,2,3]
3)for
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr.splice(j,1)
}
}
}
4)sort排序后去重
function fn(arr){
let newArr = []
arr.sort((a,b)=>{
return a-b
})
arr.forEach((val,index)=>{
if(val != arr[index+1]){
newArr.push(val)
}
})
return newArr
}