JavaScript に配列があり、次のようなインデックスがありますnet.up, net.down, net, err, err.warn
文字列があり、文字列に一致するすべてのインデックスを見つける必要があります。ただし、マッチングにはいくつかの特別なルールがあります...
'net.*' はnet.up, net.down
'err' を返します。err
これは非常に厳密です。つまり、'net.u*' は何も返しません。
現在、文字列をピリオドで分割し、各セグメントを各セグメントと比較することを考えていますが、これは単純に思えます。
リクエストに応じて、私のコードは機能しますが、素朴すぎると感じ、改善したいと考えています:
o = {"hey":0,"hey.a":1,"hey.b":1,"no":0};
srch = "hey.*".split(".");
for(i in o) {
match = true;
parts = i.split(".");
for(j=0;j<srch.length;j++) {
if (parts[j]=="*" || srch[j]=="*") continue;
if (parts[j] != srch[j]) {
match=false;
break; } }
if (match)
document.write("match: "+i+"<br>"); }