Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查字符串是否匹配_Javascript_If Statement_Constants_Reduce - Fatal编程技术网

Javascript 检查字符串是否匹配

Javascript 检查字符串是否匹配,javascript,if-statement,constants,reduce,Javascript,If Statement,Constants,Reduce,我有一个数据集,每个对象都有一个promoUrl和一个promoNumber,结构如下: const phoneNumbers = [ { promoUrl: '/interior-doors/', promoNumber: '589-918-0710', }, { promoUrl: '/promo4/', promoNumber: '307-789-8615', }, ]; 在第一次加载时,将设置一个cookie,其中包含参考url(下面代码

我有一个数据集,每个对象都有一个
promoUrl
和一个
promoNumber
,结构如下:

const phoneNumbers = [
  {
    promoUrl: '/interior-doors/',
    promoNumber: '589-918-0710',
  },
  {
    promoUrl: '/promo4/',
    promoNumber: '307-789-8615',
  },
];
在第一次加载时,将设置一个cookie,其中包含
参考
url(下面代码中的
const
参考
),并将参考url传递给
reduce
函数,允许我查找url,找到关联的电话号码,然后动态显示该号码

const url = referrer;

const promoNumber = promoResults.reduce((promoNumber: string, results: any) => {
  const hasPromo = url === results.promoUrl;

  if (hasPromo) {
    return results.promoNumber;
  }
    return promoNumber;
}, '');
但是现在,当它找到URL时,只有当cookie值与
promoUrl
完全匹配时,它才会与数字匹配。一旦这是活的,我将不负责设置promoURL,这项任务将交给非开发人员。我如何设置它,使其在字符串包含匹配字符的情况下工作,也就是说,如果
促销URL
interior doors
/interior doors
,它将工作,而不需要
/interior doors/
?只要字符串包含匹配字符,真的有什么问题吗

我已尝试使用
.includes()
编辑我的
hasPromo
const

const hasPromo=url.includes(results.promoUrl)


但是它对我仍然不起作用。

你有没有记录你的url和结果。promoUrl
建议是记录两个键(url和promoUrl)的类型和值。

在罗伯特·哈维(Robert Harvey)的评论中进行了一些挖掘和帮助后,找到了这一点

我所需要做的就是修改hasPromo
const
来检查
结果

const hasPromo=results.promoUrl.includes(url)


这完全符合我的需要。

这是否回答了您的问题?不幸的是,没有,似乎在用
const hasPromo=url.includes(results.promoUrl)修改我的
hasPromo
const
仍然无法工作。将我的问题修改为包含此信息。请尝试
IndexOf()
。我链接的帖子的第一个答案就说明了这一点。不幸的是,这似乎仍然不起作用。只有当
URL
完全匹配时,它才会起作用。算了吧!添加相应的答案!