来自数组的JavaScript查找值,替换为下一个索引

时间:2011-06-17 16:51:26

标签: javascript arrays replace tagname

我有一个像这样生成的字符串变量

domNodes += '<a href="javascript: void(0);" data-role="node_jump" data-node="'+this.tagName.toLowerCase()+'">'+this.tagName + "</a>" + " &raquo; ";

我还有一个数组,其中包含一个带有要查找的字符串的2D数组和一个用以下内容替换它的字符串:

var replaceTags = [["i", "em"], ["b", "strong"]];

如果this.tagName == i,则emb替换为strong

我知道这很简单,因为我之前已经做过,我只是不记得如何:(

2 个答案:

答案 0 :(得分:1)

您可以创建如下函数:

function replaced(x) {
    var replaceTags = [["i", "em"], ["b", "strong"]];
    for(var i = 0; i < replaceTags.length; i++) {
        if(replaceTags[i][0] === x) return replaceTags[i][1];
    }
    return x;
}

然后称之为:

data-node="'+replaced(this.tagName.toLowerCase())+'"

答案 1 :(得分:1)

http://jsfiddle.net/Nw45Y/

var replaceTags = [["i", "em"], ["b", "strong"]];
var tn = this.tagName;
for (var i =0; i < replaceTags.length; i++) {
    tn = tn.replace(new RegExp(replaceTags[i][0], 'g'),replaceTags[i][1]);
}