У меня есть обещание от Google People API.Фильтр map и , который отлично работает на двух элементах, но дает ошибку undefined на третьем элементе, который мне кажется одинаковым.
Я прочитал все, что могу найти на карте и фильтре , и сделал обоснованные предположения за последние два часа.Ни один из подходов, похоже, не способствует моим усилиям.
resource_LBL, names_LBL и email_LBL работает.Код не выполняется на поле _LBL.
const arr = this.k4kItems.map(item => ({
resource_LBL: item.person.resourceName,
names_lbl: item.person.names.filter(
name_PARM => name_PARM.metadata.source.type === "CONTACT"
),
email_LBL: item.person.emailAddresses.filter(
email_PARM => email_PARM.metadata.source.type === "CONTACT"
),
gender_LBL: item.person.genders.filter(
gender_PARM => gender_PARM.metadata.source.type === "CONTACT"
)
}))
Ниже приведены соответствующие элементы или обещание с JSON.Stringify (обещание).
"person": {
"resourceName": "people\/c224283231105155344",
"names": [
{
"metadata": {
"primary": true,
"source": {
"type": "CONTACT",
"id": "31cd0690f198110"
}
},
"displayName": "Armena Kopf",
"familyName": "Kopf",
"givenName": "Armena",
"displayNameLastFirst": "Kopf, Armena"
},
{
"metadata": {
"source": {
"type": "PROFILE",
"id": "112242108723070860293"
}
},
"displayName": "Armena Dickson",
"familyName": "Dickson",
"givenName": "Armena",
"displayNameLastFirst": "Dickson, Armena"
}
],
"genders": [
{
"metadata": {
"primary": true,
"source": {
"type": "CONTACT",
"id": "31cd0690f198110"
}
},
"value": "female",
"formattedValue": "Female"
},
{
"metadata": {
"source": {
"type": "PROFILE",
"id": "112242108723070860293"
}
},
"value": "female",
"formattedValue": "Female"
}
],
"emailAddresses": [
{
"metadata": {
"primary": true,
"source": {
"type": "CONTACT",
"id": "31cd0690f198110"
}
},
"value": "armena_d@yahoo.com",
"type": "home",
"formattedType": "Home"
}
]
Ожидаемый результат - сопоставление пола смассив вместо дачи и undefined ошибка.