Javascript使用不同的值在数组中运行match,并表示match不是一个函数
数组中有几个对象,它们都有相同的正则表达式。 数组如下所示:Javascript使用不同的值在数组中运行match,并表示match不是一个函数,javascript,Javascript,数组中有几个对象,它们都有相同的正则表达式。 数组如下所示:var数组=[“7711BZ”、“8877RG”、“7755LK”]。 我试图循环使用它们,但随后我得到一个错误,匹配不是一个函数 这就是我想做的。循环遍历和数组,然后检查匹配项是否有此项。我也尝试过不使用循环,因为我的对象来自的数组是json数据。因此,在单击某个对象后,数组中有某个对象。这就是我现在有默认对象的原因 var string=[{“from”:“7711KT”,“to”:“7711KZ”},{“from”:“7722L
var数组=[“7711BZ”、“8877RG”、“7755LK”]代码>。
我试图循环使用它们,但随后我得到一个错误,匹配不是一个函数
这就是我想做的。循环遍历和数组,然后检查匹配项是否有此项。我也尝试过不使用循环,因为我的对象来自的数组是json数据。因此,在单击某个对象后,数组中有某个对象。这就是我现在有默认对象的原因
var string=[{“from”:“7711KT”,“to”:“7711KZ”},{“from”:“7722LZ”,“to”:“7722LG”}];
对于(var j=0;j }
您可以使用对象创建一个新数组,并将数字和字母部分分开
函数getParts{
返回s.match(/\d{4}|[A-Z]{2}/g);
}
var数组=[{from:“7711KT”,to:“7711KZ”},{from:“7722LZ”,to:“7722LG”}],
结果=array.map(函数(o){
返回{from:getParts(o.from),to:getParts(o.to)};
});
控制台日志(结果)代码>
。作为控制台包装{max height:100%!important;top:0;}
您可以使用对象创建一个新数组,并分隔数字和字母部分
函数getParts{
返回s.match(/\d{4}|[A-Z]{2}/g);
}
var数组=[{from:“7711KT”,to:“7711KZ”},{from:“7722LZ”,to:“7722LG”}],
结果=array.map(函数(o){
返回{from:getParts(o.from),to:getParts(o.to)};
});
控制台日志(结果)代码>
作为控制台包装{max height:100%!important;top:0;}
是否要测试属性?你期望得到什么结果?你没看到string[j]
不是字符串吗?我是说你有一系列什么?字符串还是对象?您的数组不是这样的。在您的代码中,您有一个对象数组,而不是字符串数组。我已将其更改为对象,因此它们是对象。我希望将每个对象拆分为两个,以便将字母转换为数字。是否要测试属性?你期望得到什么结果?你没看到string[j]
不是字符串吗?我是说你有一系列什么?字符串还是对象?您的数组不是这样的。在您的代码中,您有一个对象数组,而不是字符串数组。我已将其更改为对象,因此它们是对象。我希望将每个对象拆分为两个,以便我可以将字母转换为数字。getParts()。。。如果输入与预期的1234XY
模式不匹配,则会产生有趣的结果。试穿一下,比如说,123XYZ
或12345X
或12X34Y
。让函数显式地检测这些无效的输入并抛出一个错误,或者至少以一种不会悄悄地丢弃部分输入的方式来处理它们是很容易的。@IlmariKaronen,实际上OP并没有真正说明结果应该是什么样子,但假设“我想把每个对象分成两个…”表示每个属性,然后执行某些操作。getParts()。。。如果输入与预期的1234XY
模式不匹配,则会产生有趣的结果。试穿一下,比如说,123XYZ
或12345X
或12X34Y
。让函数显式地检测这些无效的输入并抛出一个错误,或者至少以一种不会悄悄地丢弃部分输入的方式来处理它们是很容易的。@IlmariKaronen,实际上OP并没有真正说明结果应该是什么样子,但假设“我想把每个对象分成两个…”意味着每一个财产,然后做点什么。