获取列表中的列表

Get List inside List

我有一个复杂的数据结构,我不得不创建这个简短的示例以便更好地理解。

type alias People = 
  { name : String
  , sex : String
  , phones : List Phone
  }

type alias Phone =
  { number : String
  , isActive : Bool
  }

此结构填充:

people = [
  { name = "_me"
  , sex = "M"
  , phones = [
    { number = "(99) 99 9 9999-9999"
    , isActive = True
    }]
  }, 
  { name = "_you"
  , sex = "M"
  , phones = [
    { number = "(11) 11 1 1111-1111"
    , isActive = True
    },
    { number = "(22) 22 2 2222-2222"
    , isActive = False
    }]
  }]

我只想从 'people' 列表中获取 'phones',如下例所示

phones = [
  { number = "(99) 99 9 9999-9999"
  , isActive = True
  },
  { number = "(11) 11 1 1111-1111"
  , isActive = True
  },
  { number = "(22) 22 2 2222-2222"
  , isActive = False
  }]

我已经尝试了 3 天,但无济于事。

您可以通过映射获取一个人的 phone 号码列表,然后将这些 phone 号码列表连接在一起,将所有 phone 号码提取到一个列表中:

getPhones : List People -> List Phone
getPhones = List.concat << List.map .phones