请参阅对象元素名称而不是内容

时间:2013-01-27 20:54:09

标签: jquery regex arrays object match

下面是一个包含正则表达式的对象,这些正则表达式在下面的函数中用于查找某些字符串中的匹配项。

如果匹配我想要检查匹配是否是车祸(即对象中最后一个元素的匹配)。

在第27行,我尝试这样做,但这不起作用,因为INCIDENT_MATCHES [type]引用了对象元素的内容(即正则表达式),而不是元素的名称(trafficAccidents)。

我写什么来引用元素名称而不是它的内容?

 1. var INCIDENT_MATCHES = {
 2.     battery: /\w*(bråk)\w*|överfall|slagsmål|slogs|misshandel|misshandlad|\w*(tjuv)\w*/ig,
 3.     burglaries: /snattade|snattare|snatta|inbrott|bestulen|stöld|\w*(tjuv)\w*/ig,
 4.     robberies: /\w*(rån)\w*|personrån|\w*(ryckning)\w*|väskryckt*/ig,
 5.     gunfire: /skottlossning|skjuten|sköt/ig,
 6.     drugs: /narkotikabrott/ig,
 7.     vandalism: /skadegörelse|klotter|\w*(klottra)\w*/ig,
 8.     trafficAccidents: /(trafik|bil)olycka|(trafik|bil)olyckor|\w*(personbil)\w*|singelolycka|kollision|\w*(kollidera)\w*|påkörd|trafik|smitningsolycka/ig,
 9. };
10.
11. function FindIncidents(incidentReports) {
12.
13.     var incidentCounts = {};
14.     var incidentTypes = Object.keys(INCIDENT_MATCHES);
15.     incidentReports[2].forEach(function(incident) {
16.         matchFound = false;
17.
18.         incidentTypes.forEach(function(type) {
19.             if(typeof incidentCounts[type] === 'undefined') {
20.                 incidentCounts[type] = 0;
21.             }
22.             var matchFound = incident.match(INCIDENT_MATCHES[type]);
23.             if(matchFound){
24.                 matchFound = true;
25.                 incidentCounts[type] += 1;
26.                 console.log(INCIDENT_MATCHES[type]); // refers to the elements content, not the name which I want.
27.                 if (INCIDENT_MATCHES[type] == 'trafficAccidents') {
28.                     //
29.                 }
30              }
31.         });
32.     });
33.  }
34.
35.    FindIncidents(arrayWithStringsToMatch);

1 个答案:

答案 0 :(得分:1)

  

我写什么来引用元素名称而不是它的内容?

只是type