【问题标题】:Is there a better way to make multiple JavaScript replace calls than doing them one by one?有没有比一个一个地进行多个 JavaScript 替换调用更好的方法?
【发布时间】:2013-01-23 21:35:19
【问题描述】:

我正在用 Javascript 构建一个包含 HTML 的字符串。

现在,我正在做这样的事情:

var filter = "";
filter = util.getTemplate( "tmp_filter", temps );
filter = filter.replace( 'id="tmp_filter"','');
if (dyn.table.i18n) {
    filter = filter.replace(util.regex.re_text, dyn.filter.clear_tx);
} else {
    filter = filter.replace('data-i18n="[title]tmp_text"', 'title="'+dyn.filter.clear_tx+'" ');
    filter = filter.replace('data-i18n="tmp_text">','>'+dyn.filter.clear_tx);
}
filter = filter.replace(util.regex.re_theme, dyn.filter.theme);
filter = filter.replace(util.regex.re_icon, dyn.filter.icon);
filter = filter.replace(util.regex.re_iconpos, dyn.filter.iconpos);
filter = filter.replace('class="ui-listview-filter ', 'class="ui-listview-filter '+ dyn.custom_classes[0]+' ');

这会拉取一个模板并将所有占位符替换为dyn 中指定的数据。

虽然这可行,但需要大量替换调用。在 SQL 中,我可以嵌套这样的替换调用

SELECT LEN(REPLACE(REPLACE(address, ' CA', ''), ' NY', '')) FROM Tbl

问题:
Javascript 中是否有更好的方法来进行多次 replace 调用?我不介意代码的长度,但我对filter = filter.replace 有点不安。只是想知道是否有更好的方法?

谢谢!

【问题讨论】:

  • 你可以链接所有替换
  • 好的。试试这个。谢谢
  • 请回答,以便我检查

标签: javascript jquery string performance replace


【解决方案1】:

你可以链接所有的替换

【讨论】:

    猜你喜欢
    • 2011-03-22
    • 2012-07-08
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 2020-06-21
    • 2018-02-15
    • 2012-06-02
    • 2013-05-03
    相关资源
    最近更新 更多