【问题标题】:Check URL in Object, and return nearest sibling检查对象中的 URL,并返回最近的兄弟
【发布时间】:2020-10-21 19:45:47
【问题描述】:

我有一个 API 将吐出几十个对象,每个对象都包含一个 promo_url 和一个 promo_number,以便在我的 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"
  }]

基本上,我需要做的是找到并设置用户的referral URL,检查数据,找到与之匹配的 URL,然后通过上下文将相关的电话号码传递给我的组件,但是我有不知道如何检查对象,找到匹配的 URL,然后传递相关的电话号码。有人对我应该如何/从哪里开始有任何想法吗?

【问题讨论】:

标签: reactjs gatsby react-context


【解决方案1】:

您可以在此处使用 reduce 函数来返回促销编号。 The reduce function 擅长获取数据并将其简化。在这里,我只是像过滤器一样迭代它,但 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
}, "")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    相关资源
    最近更新 更多