Javascript在具有不同值的数组中运行匹配,并且表示匹配不是函数

时间:2017-11-08 13:21:42

标签: javascript

我在数组中有一些对象,它们具有相同的正则表达式。 该数组如下所示:var array = ["7711BZ","8877RG","7755LK"];。 我试图遍历它们,但后来我得到一个匹配不是函数的错误。

这就是我想要做的。循环通过和数组然后检查匹配是否有这个。我也没有循环尝试过这个,因为我的对象来自的数组来自json数据。因此,在点击某些内容后,数组中会出现一些内容。这就是我现在有默认对象的原因。



var string = [{"from": "7711KT", "to":"7711KZ"},{"from":" 7722LZ","to":"7722LG"}];
for(var j = 0; j < string.length; j++){
  var res = string[j].match(/\d{4}|[A-Z]{2}\b/g);
  var postcodeNumbers = res[0];
  var splitArray = res[1];
}
&#13;
&#13;
&#13;

我已使用JSON.stringify(string[j]).match

解决了此问题

1 个答案:

答案 0 :(得分:0)

您可以使用对象创建一个新数组,并将数字和字母部分分开。

&#13;
&#13;
function getParts(s) {
    return s.match(/\d{4}|[A-Z]{2}/g);
}

var array = [{ from: "7711KT", to: "7711KZ" }, { from: " 7722LZ", to: "7722LG" }],
    result = array.map(function (o) {
        return { from: getParts(o.from), to: getParts(o.to) };
    });
    
console.log(result);
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;
&#13;
&#13;