gpt4 book ai didi

angular - Map 和 Filter 适用于两个数组元素,但在看似相同的第三个元素上失败

转载 作者:太空狗 更新时间:2023-10-29 18:28:21 28 4
gpt4 key购买 nike

Google People API 向我 promise 。 ma​​pfilter 在两个元素上完美运行,但在第三个元素上给出了一个undefined 错误,这对我来说似乎是一样的。

我已经阅读了我在 map 过滤器 上可以找到的所有内容,并在过去两个小时内进行了有根据的猜测。这两种方法似乎都没有推进我的努力。

resource_LBL、names_LBL 和 email_LBL 有效。代码在 gender_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(promise) 的 promise。

"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 错误。

最佳答案

只需添加检查是否存在可能不存在的深层属性

gender_LBL: item.person.genders && item.person.genders.filter(
gender_PARM => gender_PARM.metadata.source.type === "CONTACT"
)

关于angular - Map 和 Filter 适用于两个数组元素,但在看似相同的第三个元素上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53916498/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com