mapから指定した要素を削除する[Verse]

以下の内容はフォートナイトv31.10に基づいてます。

目次

公式ドキュメントを参考にmapから要素を削除する

[String]init型のmapから指定した要素を削除する

mapをforでまわし、指定された要素以外の情報でmapを作り直す流れになっている。

    # Removes an element from the given map and returns a new map without that element
    RemoveKeyFromMap(ExampleMap:[string]int, ElementToRemove:string):[string]int=
        var NewMap:[string]int = map{}
        # Concatenate Keys from ExampleMap into NewMap, excluding ElementToRemove
        for (Key -> Value : ExampleMap, Key <> ElementToRemove):
            set NewMap = ConcatenateMaps(NewMap, map{Key => Value})
        return NewMap

mapのキーをplayerにした場合

型をplayerに変更する。

    RemoveKeyFromMap(ExampleMap:[player]int, ElementToRemove:player):[player]int=
        var NewMap:[player]int = map{}
        for (Key -> Value : ExampleMap, Key <> ElementToRemove):
            set NewMap = ConcatenateMaps(NewMap, map{Key => Value})
        return NewMap

ハイスコアなどプレイヤー毎に情報を保持するなど、playerをキーにするmapを使用する場面は多そう。

ただし、プレイヤーが途中退出した際に削除する場面も想定できるため、プレイヤーの途中退出イベントを取得したときに実行する必要がある。

コメント

コメントする

目次