刪除數組對象中某一個指定的對象


_arr:數組
_obj:需刪除的對象
*/
    function removeArray(_arr, _obj) {
        var length = _arr.length;
        for (var i = 0; i < length; i++) {
            if (isObjectValueEqual(_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;
                }
            }
        }
    }

    function isObjectValueEqual(a, b) {
        var aProps = Object.getOwnPropertyNames(a);
        var bProps = Object.getOwnPropertyNames(b);
        if (aProps.length != bProps.length) {
            return false;
        }

        for (var i = 0; i < aProps.length; i++) {
            var propName = aProps[i];
            if (a[propName] !== b[propName]) {
                return false;
            }
        }
        return true;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM