Re: VBScript dictionary delete by index ? solved

"R.Wieser" <[email protected]> Sat, 8 Nov 2025 09:07:57 +0100
Newsgroups alt.comp.lang.vbscript,alt.comp.os.windows-xp,alt.windows7.general
Organization A noiseless patient Spider
Message-ID <[email protected]>
Mr. Man-wai Chang,

>> If I can use a "for each" in reverse than I already have the key (and 
>> don't
>> need the index)
>
> You can first sort oDict in reverse order, but that's quite silly. :)

Yes, and it would not solve anything. :-|   (the contents are not the 
problem)

> > I just realized I took it for granted that deleting a
> > key-item pair while inside a standard "for each" loop
> > would cause an error/crash (looping beyond the last item).
>
> That surely could be a problem for linked list, not array index.

I'm not at all sure about the first, as the "next" pointer (for the 
iteration) doesn't need to be replaced (assuming that its retrieved and 
stored somewhere as part of advancing to the current item).

The problem with a "for i=0 to dict.count-1" loop is that it both will skip 
the item after the one thats being removed, and it will not adjust the "upto 
here" part of the for loop to the new size of the array.

Looping backwards makes both of those problems disappear.

... and thats what my head was - unneeded - stuck on. :-\

Regards,
Rudy Wieser