Right here the .splice method is being used with the indexOf operator. The issue is that indexOf returns -1 if the post is not found in the user’s saved posts. But splice will treat -1 as the last index of the array, and not throw an error, so it just removes the last bookmarked index.
Fix by throwing an exception when -1 is the found index. Also compares posts by IDs only which should be more reliable than comparing the entire object. Lastly, adds 1 as the second argument to .splice so it only deletes one item!
Overview
Fix BE bookmark deletion.
Right here the
.splice
method is being used with theindexOf
operator. The issue is thatindexOf
returns-1
if the post is not found in the user’s saved posts. But splice will treat-1
as the last index of the array, and not throw an error, so it just removes the last bookmarked index.Fix by throwing an exception when
-1
is the found index. Also compares posts by IDs only which should be more reliable than comparing the entire object. Lastly, adds1
as the second argument to.splice
so it only deletes one item!Testing
Trust me bro