javascript匹配数组中url列表中的字符串并获取该值

时间:2016-01-19 10:28:15

标签: javascript regex

我有一个变量var input = 'promojam-untitled-promotion-2';和一个数组

var prefferedPatterns = [
  "https://promojam.live.promojam.dev:5000/promojam-untitled-promotion-2",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-3",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-4",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-5",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-6",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-7",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-8",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-9"
]

我必须从这个数组中找到匹配的输入元素。任何的想法 ?

2 个答案:

答案 0 :(得分:1)

您必须使用input循环遍历数组并使用当前值搜索indexOf()

以下是使用.filter()

的示例代码

var input = 'promojam-untitled-promotion-2';

var prefferedPatterns = [
  "https://promojam.live.promojam.dev:5000/promojam-untitled-promotion-2",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-3",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-4",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-5",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-6",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-7",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-8",
  "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-9"
]

var output = prefferedPatterns.filter(function(item){
  return (item.indexOf(input)>0)
})

console.log(output);

答案 1 :(得分:0)

试试这个。

var input = 'promojam-untitled-promotion-2';
var prefferedPatterns = [
    "https://promojam.live.promojam.dev:5000/promojam-untitled-promotion-2",
    "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-3",
    "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-4",
    "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-5",
    "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-6",
    "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-7",
    "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-8",
    "http://promojam.live.promojam.dev:5000/promojam-untitled-promotion-9"
     ]
      for (var i = 0; i < prefferedPatterns.length; i++) {
        if (prefferedPatterns[i].indexOf(input) > -1) {
        alert(prefferedPatterns[i]);
      }
     }