2023-JavaScript-js-删除数组(对象数组)中的指定元素

2023-JavaScript-js-删除数组(对象数组)中的指定元素

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

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);

猜你喜欢

转载自blog.csdn.net/itwangyang520/article/details/128631538