js匹配搜索与数组
Posted
技术标签:
【中文标题】js匹配搜索与数组【英文标题】:js match serarching with array 【发布时间】:2012-10-04 17:37:57 【问题描述】:我正在尝试从按行排序的列表中获取每 3 个名称的第一个日期。 数组是动态的。没有数组,它工作得很好......
但是从这里我无法让它工作。有没有办法让数组进入匹配?
var array=new Array();
array[1]='name1';
array[2]='name2';
array[3]='name3';
for (var k = 1; k <= array.length; k++)
tow = document.getElementById('cal_table');
zap = tow.getElementsByTagName('tr');
for (var i=1; i<=zap.length; i++)
opt0 = zap[i].innerhtml.match(/<td>array[k]<\/td>|<td>.*2012<\/td>/img);
if(opt0.length==2)
alert(opt0);
break
【问题讨论】:
array[k]
是文字字符串,还是从索引 k
处的数组返回的值?此外,您能否展示您的(相关/SSCCE)HTML 结构,理想情况下,JS Fiddle 或类似的现场演示会很有用。
为什么你的数组从索引1
而不是0
开始?
小贴士:将tow
和zap
移到循环外,这样代码会更快
您是在问 a) 如何从数组中获取每三个元素,b) 如何使用该元素的值来构建正则表达式?
另外,鉴于您似乎没有在任何地方使用 tow
(除了查找tr
元素),您可以只使用zap = document.getElementById('cal_table').getElementsByTagName('tr');
【参考方案1】:
您必须使用 RegExp 构造函数,即new RegExp("<td>" + array[k] + "|<td>.*2012<\/td>", "img")
。
【讨论】:
以上是关于js匹配搜索与数组的主要内容,如果未能解决你的问题,请参考以下文章