inArray会检查确切的值是否存在?
来自网址,得到linkTrim
= offer3for2
来自cookie split,offerSplit
= ?url1=/offers/offer3for2
需要比较和检查offer3for2
文本是否存在于linkTrim
和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");
}
您正在寻找完全匹配,但您想要搜索子字符串。您可以使用.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");
}