我在 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>"); }