inArray将检查确切值是否存在?
从网址中获取linkTrim
= offer3for2
从Cookie拆分中,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");
}
答案 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");
}