Unintentionally changes in a flow variable (without flow.set)

To add to that a bit, you can think of the variable containing pointer to object, rather than a copy (clone) of the object. This is the way javascript works with objects, so for example, in this code

let v1 = {x: 3, y: 4}
let v2 = v1

both v1 and v2 point to the same object, so if this is followed by

v1.x = 4

then v2.x would also now be 4. Node red provides a clone method, so you could use
let storedtimeplan = RED.util.cloneMessage(context.get("existing"))
to get a copy of the object in context.

By the way, your code is not importable as the forum has interpreted it as markdown, in order to make code readable and usable it is necessary to surround the code with three backticks (also known as a left quote or backquote ```)

``` 
   code goes here 
```

You can edit and correct your post by clicking the pencil :pencil2: icon.

See this post for more details - How to share code or flow json

Edit: Corrected code above as suggested by @jbudd below