這里先引用一下如下地址的內容
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)) {才能進行比較。
特此記錄一下,總是出這樣的低級錯誤!
