Reactjs 检查对象中的URL,并返回最近的同级
我有一个API,它将抛出几十个对象,每个对象都包含一个Reactjs 检查对象中的URL,并返回最近的同级,reactjs,gatsby,react-context,Reactjs,Gatsby,React Context,我有一个API,它将抛出几十个对象,每个对象都包含一个promo\u url和一个promo\u编号,以便在我的Gatsby站点上进行动态数字交换。像这样: [{ "promo_url": "/promo1", "promo_number": "665-894-3142" }, { "promo_url": "/promo2", &qu
promo\u url
和一个promo\u编号
,以便在我的Gatsby站点上进行动态数字交换。像这样:
[{
"promo_url": "/promo1",
"promo_number": "665-894-3142"
},
{
"promo_url": "/promo2",
"promo_number": "493-441-7386"
},
{
"promo_url": "/promo3",
"promo_number": "549-823-5785"
},
{
"promo_url": "/promo4",
"promo_number": "553-747-1261"
},
{
"promo_url": "/promo5",
"promo_number": "253-741-2776"
}]
本质上,我需要做的是找到并设置用户的
参考
URL,检查数据,找到与之匹配的URL,然后通过上下文将相关电话号码传递给我的组件,但是我不知道如何检查对象,找到匹配的URL,然后传递相关电话号码。有人知道我应该从哪里开始吗?您可以在这里使用reduce函数返回促销编号。非常擅长获取数据并简化数据。在这里,我只是像一个过滤器一样对它进行迭代,但reduce的酷之处在于,您可以看到返回的默认值,我发现它有时更可读
const apiResults = [
{
"promo_url": "/promo1",
"promo_number": "665-894-3142"
},
{
"promo_url": "/promo2",
"promo_number": "493-441-7386"
},
{
"promo_url": "/promo3",
"promo_number": "549-823-5785"
},
{
"promo_url": "/promo4",
"promo_number": "553-747-1261"
},
{
"promo_url": "/promo5",
"promo_number": "253-741-2776"
}
]
const referralUrl = "/promo5"
const promoNumber = apiResults.reduce((promoNumber, result) => {
const IS_USER_PROMO = referralUrl === results.promo_url
if(IS_USER_PROMO) {
return result.promo_number
}
return promoNumber
}, "")
这回答了你的问题吗?