I have an array that I need to remove items from, by index. It for some reason duplicates other items in the array to take the removed item's place. Here is an example of the issue.
import std.stdio: writeln;
import std.algorithm: remove;
void main() {
string[string] assocArray = [
"firstvalue": "Number 1",
"secondvalue": "Number 2",
"thirdvalue": "Number 3",
"fourthvalue": "Number 4",
"fifthvalue": "Number 5",
"sixthvalue": "Number 6",
];
string[] assocArrayKeys = assocArray.keys(); // I know these aren't in the same order as the literal.
writeln(assocArrayKeys);
// ["thirdvalue", "fourthvalue", "fifthvalue", "sixthvalue", "firstvalue", "secondvalue"]
assocArrayKeys.remove(0);
assocArrayKeys.remove(5);
writeln(assocArrayKeys);
// ["fourthvalue", "fifthvalue", "sixthvalue", "firstvalue", "secondvalue", "secondvalue"]
// It did remove them, but there are now two "secondvalue"s.
}
Any help would be appreciated.