I found that I already have a break in this loop where I am modifying the Array if the weapon is added, remove the first row which is not a weapon and add the corresponding ammo type of that weapon.
for (auto& Array : ItemsIDArr)
{
if (Array.Type != EItemType::E_Weapon)
{
ItemsIDArr.RemoveAt(1);
break;
}
}