我循环一个关联数组并使用regexp.test()测试条目名称,以及一些应该与它不匹配的条目,但是如果我使用StringObj.match(regexp),这就有效。
更奇怪的是,如果我之前使用执行匹配,test()会起作用...
var pattern = new RegExp(".*" + this.value + ".*", "gmi");
//console.log(pattern);
for (var key in data) {
//console.log(data[key].name.match(pattern));
if ( pattern.test(data[key].name) )
{
console.log(data[key].name + " - " + key);
$("#d-"+key).show();
}
else
{
$("#d-"+key).hide();
}
}
“this.value”是我在keyup上获取的输入值。
如果注释了console.log(match()),则test()没有正确显示,如果我取消注释它的工作原理。
(我不想做另一种选择,我知道怎么做,我想解释一下这个,我认为,奇怪的行为)。
提前谢谢。