此函数返回在函数中指定的之前存储在DS映射中的前一个密钥。如果您必须在DS映射中迭代查找某些内容,这可能会很有用,但应尽可能避免,因为它可能很慢。如果不存在此类密钥,则函数将返回未定义的。您应该始终使用is_undefined()函数进行检查。
ds_map_find_previous(id, key);
参数 | 类型 | 描述 |
---|---|---|
id | DS Map | 要使用的映射的ID。 |
key | String | 找到前一个的钥匙。 |
var size = ds_map_size(inventory) - 1;
var key = ds_map_find_last(inventory);
for (var i = size; i > 0; i--;)
{
if (key != "gold")
{
key = ds_map_find_previous(inventory, key);
}
else break;
}
上述代码创建一些临时变量,然后获取ds_map大小并找到计算机存储在地图中的最后一个密钥。然后使用for循环在ds_map中反复查找关键值"gold"。如果它找到了,它就会打破循环。