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开始? 小贴士:将towzap移到循环外,这样代码会更快 您是在问 a) 如何从数组中获取每三个元素,b) 如何使用该元素的值来构建正则表达式? 另外,鉴于您似乎没有在任何地方使用 tow(除了查找tr 元素),您可以只使用zap = document.getElementById('cal_table').getElementsByTagName('tr'); 【参考方案1】:

您必须使用 RegExp 构造函数,即new RegExp("&lt;td&gt;" + array[k] + "|&lt;td&gt;.*2012&lt;\/td&gt;", "img")

【讨论】:

以上是关于js匹配搜索与数组的主要内容,如果未能解决你的问题,请参考以下文章

在对象数组中,查找属性与搜索匹配的对象的索引的最快方法

从位于字典中的数组中删除与搜索词匹配的所有值(字符串)?

PHP - 如何通过将键与正则表达式匹配来搜索关联数组

如何检查字符串是不是与 node.js 中的任何正则表达式数组匹配?

搜索字符串数组以找到匹配的单词之一

字符串方法,js中的数组方法,ES5新增的数组方法,以及jQuery中的数组方法