jQuery-inArray-比较后检查值是否存在

时间:2019-03-19 03:11:28

标签: jquery

inArray将检查确切值是否存在?

从网址中获取linkTrim = offer3for2

从Cookie拆分中,offerSplit = ?url1=/offers/offer3for2

需要比较并检查offer3for2linkTrim中是否都存在offerSplit文本。

路径:

https://www.test.com/content/test/en/offers/offer3for2.html

cookie-offerParameter

%3Furl1%3D%2Foffers%2Foffer3for2%26url2%3D%2Foffers%2Ftest%26url3%3D%2Foffers%2Fadvance-purchase

JS:

var linkPath  = window.location.pathname;
var linkSplit = linkPath.replace(/\.\w+$/, '').split('/');
var linkTrim  = linkSplit.slice(-1).join('/');
console.log('Link name: ', linkTrim);

let offerParameter = $.cookie('offerParameter');
let offerSplit = offerParameter.split('&');

if($.inArray(linkTrim, offerSplit)){
  console.log("Name Exists");
} else { 
  console.log("Name Not Exists");
}

1 个答案:

答案 0 :(得分:0)

您正在寻找完全匹配的内容,但您想搜索一个子字符串。您可以使用.includes()方法测试字符串是否包含子字符串。使用.any()在数组中搜索与任意测试匹配的元素。

var linkTrim = "offer3for2";
var offerSplit = ["?url1=/offers/offer3for2"];

if (offerSplit.some(s => s.includes(linkTrim))) {
  console.log("Name exists");
} else {
  console.log("Name Not Exists");
}