检查 URL in Object,以及 return 最近的兄弟

Check URL in Object, and return nearest sibling

我有一个 API 将吐出几十个对象,每个对象包含一个 promo_url 和一个 promo_number,以便在我的盖茨比网站。像这样:

 [{
    "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"
  }]

本质上,我需要做的就是找到并设置用户的referralURL,通过查资料,找到匹配的URL,然后传递相关的phone 数字通过上下文传递给我的组件,但是我不知道如何检查对象,找到匹配的 URL,然后传递相关的 phone 数字。有人对我应该开始 how/where 有什么想法吗?

您可以在此处使用缩减功能 return 促销编号。 The reduce function 非常擅长获取数据并将其简化。在这里,我只是像过滤器一样迭代它,但是 reduce 的好处是你可以看到 return 的默认值,我发现它有时更具可读性。

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
}, "")