這里先引用一下如下地址的內容
https://www.cnblogs.com/LoveQin/p/8663006.html
因為有需要刪除對象數組中的某個對象,所以在網上查到這篇文章,用到了最后一段
/*刪除數組中的某一個對象 _arr:數組 _obj:需刪除的對象 */ function removeAaary(_arr, _obj) { var length = _arr.length; for (var 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; } } } }
但是執行調試后發現,當對象內容明明匹配的時候,調試並沒有進入if語句,即當對象內容一樣時(_arr[i]==_obj)沒有起作用,之后想起來js對象之間是不能直接==進行比較的,可以將兩個對象JSON.stringify()再進行比較,所以if
(_arr[i]==_obj)要改為if (JSON.stringify(_arr[i]) == JSON.stringify(_obj)) {才能進行比較。
特此記錄一下,總是出這樣的低級錯誤!