This function returns the previous key stored in the ds_map before the one specified in the function. This can be useful if your have to iterate through the ds_map looking for something, but should be avoided if possible as it can be slow. If no such key exists then the function will return <undefined>. You should always check this using the is_undefined() function.


ds_map_find_previous(id, key);

参数 描述
id The id of the map to use.
key The key to find the previous one to.


Real, string or undefined


var size, key, i;
size = ds_map_size(inventory) - 1;
key = ds_map_find_last(inventory);
for (i = size; i > 0; i --;)
   if key != "gold" key = ds_map_find_previous(inventory, key) else break;

The above code creates some temporary variables and then gets the ds_map size and finds the last key as stored by the computer in the map. It then uses a for loop to iterate back through the ds_map looking for the key value "gold". If it finds it, it breaks out the loop.