The target object
The iter identifying the path of the final key value
The value to set
let theValue = { };
setValueByIter(theValue, ["Hello", "Darkness", "my"], "old");
// Resulting Object: { Hello: { Darkness: { my: "old" } } }
setValueByIter(theValue, ["friend"], "I've");
// Resulting Object: { Hello: { Darkness: { my: "old" } }, friend: "I've" }
setValueByIter(theValue, ["come", "to", "see"], "you");
// Resulting Object: { Hello: { Darkness: { my: "old" } }, friend: "I've", come: { to : { see: "you" } } }
Set the named value on the target object where the path is represented by the string iterator or iterable to separate the nested objects of the heirarchy / path to the value.
The order of processing of the iterator is not reset if you add or remove elements to the iterator, the actual behavior will depend on the iterator imeplementation.
If the passed and Iterator the Iterator interface takes preceedence.
iter
is both an Iterable