以下の配列が削除されない理由。
var removeableIndex =-1;
bookingStatus.bookings.filter(function(item, index) {
if(item.id == id){
removeableIndex = index;
return true;
}
return false;
});
console.log(removeableIndex)
if(removeableIndex)
var result = bookingStatus.bookings.splice(removeableIndex,1);
予約の正しい配列を渡しました。フィルタは正しく一致しています。removeableIndex が 0 の場合、これはアイテムを削除しません。removeableIndex が 0 より大きい場合、アイテムが削除されるとします。
小さな変更を加えた以下のコードは、removeableIndexが 0 であることを含むすべてのケースで正しく機能します。
var removeableIndex =-1;
bookingStatus.bookings.filter(function(item, index) {
if(item.id == id){
removeableIndex = index;
return true;
}
return false;
});
console.log(removeableIndex)
if(removeableIndex > -1)
var result = bookingStatus.bookings.splice(removeableIndex,1);
唯一の違いは、if(removeableIndex > -1)
インデックスがゼロの場合にのみ、最初のコードセットがアイテムを削除しなかった理由を知りたいです。