_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; }