如何在javascript变量中找到模式并在数组中返回已创建的元素?

如何在javascript变量中找到模式并在数组中返回已创建的元素?,javascript,Javascript,我需要您的帮助从数组中提取JavaScript变量内部的字符串模式 例如,假设: var type=[“男人”、“女人”、“男孩”、“女孩”] var product=“女式鞋” 我想编写一个函数,从我的自定义定义变量类型中搜索变量产品 因此,函数可以返回字符串“women” 非常感谢 Allen您应该使用forEach方法 首先,您必须使用split方法来获得数组。例如,var product=“women shoes”将是var数组=[“women”,“shoes”]。然后,您只需在类型

我需要您的帮助从数组中提取JavaScript变量内部的字符串模式

例如,假设:

  • var type=[“男人”、“女人”、“男孩”、“女孩”]

  • var product=“女式鞋”

我想编写一个函数,从我的自定义定义变量类型中搜索变量产品

因此,函数可以返回字符串“women”

非常感谢


Allen

您应该使用
forEach
方法

首先,您必须使用
split
方法来获得
数组
。例如,
var product=“women shoes”
将是
var数组=[“women”,“shoes”]
。然后,您只需在
类型中的
数组中查找
元素

var type=[“男人”、“女人”、“男孩”、“女孩”]
var product=“女式鞋”;
产品分割('').forEach(功能(项目){
类型.forEach(函数(elem){
如果(元素==项目){
控制台日志(elem);
}
});

});
在拆分句子后,您可以混合使用
数组.prototype.filter()
indexOf()

var type=[“男人”、“女人”、“男孩”、“女孩”]
var product=“女式鞋”;
var结果=产品分割(“”).filter(p=>type.indexOf(p)!=-1);
控制台日志(结果)
函数filterValue(){
var temp=“”;
对于(var i=0;i我会选择:

var type = ["men", "women", "boys", "girls"],
    product = "women shoes",
    result;

function filterData(item, index) {
   if (new RegExp( '\\b' + item + '\\b', 'i').test(product)) {
       return true;
   } 
   return false;
}

result = type.filter(filterData);
console.log(result);

工作示例:

你尝试了什么?为什么不成功?我只是一个javascript初学者,但是,我需要在google tag manager中捕获电子商务站点的所有有用变量。谢谢Alex…你的代码在GTM中也能完美工作!!非常感谢你!!感谢Weedoze对你的帮助!!!喜欢每个人都做同样的事情ly!!学到了很多!谢谢Michael!!!indexOf(type[i])…从没想过…喜欢它!你好,atsang01。很高兴知道你喜欢它。只想说Michael编辑了它,我发布了答案。快乐编码:)Nitesh…我的错…也谢谢你!!!仍然不太熟悉stackoverflow…但现在我喜欢它!!如此强大,爱所有像你这样的专家!:)
var type = ["men", "women", "boys", "girls"],
    product = "women shoes",
    result;

function filterData(item, index) {
   if (new RegExp( '\\b' + item + '\\b', 'i').test(product)) {
       return true;
   } 
   return false;
}

result = type.filter(filterData);
console.log(result);