获取列表中的列表
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
我有一个复杂的数据结构,我不得不创建这个简短的示例以便更好地理解。
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