我有我的頁面上的陣列。在這個數組中,我點擊它後插入一個對象。但是,我似乎有問題從數組中刪除它。這很奇怪,因爲完全相同的代碼似乎適用於另一個數組:它確實移除了該對象。我通過索引刪除對象:
代碼在我的JS文件的頂部。
var f__packages = [];
單擊時,插入作爲Array對象。
var packages = {};
for (var i = 0; i < results.length; i++) {
packages['obj'] = results[i].id;
}
f__packages.push(packages);
直到這裏,它工作正常。它在我的數組中插入一個對象。但是現在來了棘手的部分。當我再次點擊它時,該對象應該從數組中移除。
var index__pid = f__packages.findIndex(y => y.obj==value);
console.log(index__pid);
f__packages.splice(index__pid, index__pid);
它確實找到了正確的索引,有時它會從數組中刪除具有該索引的對象。但是,並不總是如此。它似乎與數組中最後一個對象的問題最多。當沒有更多(也索引:0)時,它失敗。
我在這裏做錯了什麼?
爲什麼如果只有一個屬性('obj')在對象中的循環? 「點擊」的部分是一樣的:'f__packages.push({「OBJ」:結果[results.length - 1]} .ID)' – Andreas
@Andreas由於存在更多的循環,但是我除去這便於閱讀目的。它將剩下的添加到另一個數組中。 – Synthiatic
的'.splice(index__pid,index__pid)'使沒有太大意義......的語法是:'方法Array.splice(開始,* deleteCount *)',因此你要移除'從開始index__pid'元素'index__pid' – Andreas