根据术语数组选择一个选项

时间:2016-09-12 16:09:20

标签: javascript jquery arrays

我要做的是根据网址选择一个选项。所以到目前为止我所做的就是获取网址并将其与选项相匹配。然后将匹配存储在一个数组中,然后我删除了一些术语,如'http','org'等。我能够将其缩小为两个关键字。

现在我需要选择一个与数组中某个关键字匹配的选项。

我尝试使用'过滤器',包含:和map但只有在我使用一个术语和数组时它才有用,我有一个术语数组。所以我需要知道的是基于第一场比赛的选择和选项。从选项的文本到数组中的术语。

//this is my arr
var arr = ["Pro_life", "Inactive"]

//this is the text from the options
FB_Ext_Pro_life_Specific_Inactive
FB_register_now

我需要找到一种方法来选择FB_Ext_Pro_life_Specific_Inactive'用我的数组中的术语。 有人有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我没有完全得到你的问题,但我设法做到了这个



var arr = ["Pro_life", "Inactive"]

var options = ["FB_Ext_Pro_life_Specific_Inactive", "FB_register_now", "sample_Inactive__"]

for (var x = 0; x < arr.length; x++) {
  for (var y = 0; y < options.length; y++) {
    if (options[y].indexOf(arr[x]) != -1) {
      console.log("Option " + options[y] + " matches with " + arr[x]);
    }
  }
}
&#13;
&#13;
&#13;

它使用indexOf()来检查关键字是否与选项

匹配

答案 1 :(得分:0)

可能你可以这样做;

&#13;
&#13;
var arr = ["Pro_life", "Inactive"],
    str = "FB_Ext_Pro_life_Specific_Inactive\nFB_register_now",
 result = str.split("\n")
             .filter(s => arr.some(k => s.indexOf(k) !== -1));
console.log(result);
&#13;
&#13;
&#13;