Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中实现基于正则表达式的条件匹配?_Javascript_Regex_Leaflet - Fatal编程技术网

如何在Javascript中实现基于正则表达式的条件匹配?

如何在Javascript中实现基于正则表达式的条件匹配?,javascript,regex,leaflet,Javascript,Regex,Leaflet,我有一个地图,希望每次单击要素属性时,它都能做一些事情。但是,条件是我单击的区域必须与JS变量的对象属性名称的一部分匹配 实际上,我们有: 功能 ProcessiJSON.forEach(function(arrayItem) { if (e.target.feature.properties.NOME_COM.toUpperCase().match(/BONDENO/)) { $('.lead').html('ciaoooooo' + arrayItem.AN

我有一个地图,希望每次单击要素属性时,它都能做一些事情。但是,条件是我单击的区域必须与JS变量的对象属性名称的一部分匹配

实际上,我们有:

功能

ProcessiJSON.forEach(function(arrayItem) {
    if (e.target.feature.properties.NOME_COM.toUpperCase().match(/BONDENO/)) {

            $('.lead').html('ciaoooooo' + arrayItem.ANNO_DI_AVVIO);

}
}
变量

    var ProcessiJSON =
[
    {
      "": 0,
      "ANNO_DI_AVVIO": 2010,
      "PROCESSI_BONDENO": "5",
      "PROCESSI_CAMPOSANTO": "",
      "PROCESSI_CAVEZZO": "",
      "PROCESSI_CENTO": "",
      "PROCESSI_CONCORDIA_SULLA_SECCHIA": "",
      "PROCESSI_CREVALCORE": "",
      "PROCESSI_FINALE_EMILIA": "",
      "PROCESSI_MEDOLLA": "",
      "PROCESSI_MIRABELLO": "",
      "PROCESSI_MIRANDOLA": "",
      "PROCESSI_NOVI_DI_MODENA": "",
      "PROCESSI_PIEVE_DI_CENTO": 1,
      "PROCESSI_REGGIOLO": "",
      "PROCESSI_SAN_FELICE_SUL_PANARO": ""} + many others
例如,如果我点击区域“BONDENO”,我可以得到“PROCESSI_BONDENO”的编号。名称的一部分匹配,另一部分不匹配。我尝试了str.match,但到目前为止没有结果。我怎么做呢


谢谢

你是说这样的事吗

const ProcessiJSON=[
{
"": 0,
“安诺·迪奥·阿维奥”:2010年,
“过程”——“5”,
“过程”:“,
“过程”:“,
“进程”:“进程”,
“协商程序”:“协商程序”,
“过程凭证”:“,
“最终过程”:“,
“过程”:“,
“过程”:“,
“过程”:“,
“新流程”:“,
“中心流程”:1,
“过程”:“过程”,
“圣菲利斯南帕纳罗进程”:
}]
常量findValue=(键)=>{
key=key.toUpperCase();
返回Object.keys(ProcessiJSON[0]).filter(item=>item.indexOf(key)!=-1)
}  
让我们单击“Bondeno”;
让匹配=查找值(单击)
match.forEach(key=>$(“.lead”).append('ciao fatto'+key+':',ProcessiJSON[0][key]+“
”) 单击“Mira”; 匹配=查找值(单击) match.forEach(key=>$(“.lead”).append('ciao fatto'+key+':',ProcessiJSON[0][key]+“
”)


您的示例非常不清楚。1:e.target.feature.properties.NOME_COM是什么。为什么只将其与
BONDENO
匹配,而显示
ANNO_DI_AVVIO
。匹配(/\w*?BONDENO\w*/g)
应该有效。1)区域名称,在本例中为
BONDENO
;2)
ANNO_DI_AVVIO
是另一件事!但是我可以将JQuery与之混合使用吗?像这样:
match.forEach(key=>$('.lead').html('ciao fatto'+ProcessiJSON[0][key])
,因为当我把它放在代码中时它不起作用