以下列举的方法,基本能够满足数组内元素的删除,如果是多层嵌套的数组,也可使用,在该方法上循坏使用

1.filter

filter:将数组中符合条件的元素保存到一个新的数组中(过滤数组中的元素)

// 对象数组
let arr = [
            {name:"张三",age:18},
            {name:"李四",age:19},
            {name:"王五",age:20}
        ]
        let list = arr.filter((val) => val.name !== '张三')
        console.log(list);

// 数组
let arr = [
            4,5,7,9
        ]
        let list = arr.filter((val) => val !== 9)
        console.log(list);

2.slice

splice:通过删除或替换现有元素或者原地添加新的元素来修改数组,并以新的数组形式返回被修改的内容

        参数1:指定修改的开始位置

        参数2:整数,表示要移除的数组元素的个数

        参数3:要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素

let arr = [1,2,3,4,5]
let result = arr.splice(2,1)
console.log(result); // 返回一个数组

 3.for循坏

for循坏遍历,生成新数组,往新数组中添加除被删除元素之外的元素

indexOf:返回在数组中找到给定元素的第一个索引,如果不存在则返回-1

// 数组
let arr = [22,55,99,88,44]
        let list = []
        console.log(arr.indexOf(22));
        for(let i=0;i<arr.length;i++){
            if(i !== arr.indexOf(22)){
                list.push(arr[i])
            }
        }
        console.log(list);
// 对象数组

let arr = [
            {name:"张三",age:18},
            {name:"李四",age:19},
            {name:"王五",age:20}
        ]
        let list = []
        for(let i=0;i<arr.length;i++){
            if(arr[i].name !== '张三'){
                list.push(arr[i])
            }
        }
        console.log(list);

谢谢

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐