JS删除数组中指定的对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Frankenstein_/article/details/82788490

​​

 

  1.  封装删除方法
    /**删除数组中的某一个对象
         _arr:数组
         _obj:需删除的对象
         */
        function removeArray(_arr, _obj) {
            let length = _arr.length;
            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;
                    }
                }
            }
            console.log(';;;;;;--- rrrr' + _arr)
    
        }
  2. 实例方法 
    
    
            function removeClick() {
            
                    let arr = new Array(6)
                    arr[0] = "George"
                    arr[1] = "John"
                    arr[2] = "Thomas"
                    arr[3] = "James"
                    arr[4] = "Adrew"
                    arr[5] = "Martin"
                this.removeArray(arr, this.arr[0]);
                console.log(". . . .. . ." + this.array);
    
               
            }
    
  3. 输出结果
     删除前: George,John,Thomas,James,Adrew,Martin
     删除后: John,Thomas,James,Adrew,Martin

    另一种方法

function removeClick(){
 let arr2 = new Array(6);
        arr2[0] = "George";
        arr2[1] = "John";
        arr2[2] = "Thomas";
        arr2[3] = "James";
        arr2[4] = "Adrew";
        arr2[5] = "Martin";
        this.remove1(arr2,"John");
    }

    function remove1(arr, val) {
        let index =indexOf1(arr, val);
        if (index > -1) {
            arr.splice(index, 1);
            console.log("arr2- - - -" + arr)
        }
    }

    function indexOf1(array, val) {
        for (let i = 0; i < array.length; i++) {
            if (array[i] === val) return i;
        }
        return -1;
    }

  

猜你喜欢

转载自blog.csdn.net/Frankenstein_/article/details/82788490