So simple things are still so crazy in RouterOS.
1. First approach is like here -
http://www.paperstreetonline.com/catego ... /mikrotik/
2. In the case if known index of element to be removed I prefer use such more simple way (removing element with index $index from array):
:put ([:pick $rot13 0 $index],[:pick $rot13 ($index+1) [:len $rot13]])
I.e. to remove element you construct new array and assign it to the same name:
:set rot13 ([:pick $rot13 0 $index],[:pick $rot13 ($index+1) [:len $rot13]])
Delete by key is much simpler, just write command below to remove element with key "b":
3. It is crazy but :find not works with such arrays. You have to use foreach loop and search index or key manually by checking each element.
Example of iterating through keys/values:
:foreach k,v in=$rot13 do={:put ($k,$v)};
or by index/values:
:for i from=0 to=([:len $rot13]-1) do={:put ($i,[:pick $rot13 $i])};