自己实现模板字符串

实现

JAVASCRIPT
String.prototype.format = function (args) { var str = this; return str.replace(String.prototype.format.regex, function (item) { var intVal = parseInt(item.substring(1, item.length - 1)); var replace; if (intVal >= 0) { replace = args[intVal]; } else if (intVal === -1) { replace = "{"; } else if (intVal === -2) { replace = "}"; } else { replace = ""; } return replace; }); }; String.prototype.format.regex = new RegExp("{-?[0-9]+}", "g");

调用

对包含占位符的字符串调用format方法,传入一个要替换的参数数组。

占位符"{-1}"固定返回"{",占位符"{-2}"固定返回"}"。

JAVASCRIPT
var str = "She {1} {0}{2} by the {0}{3}. {-1}^_^{-2}"; str = str.format(["sea", "sells", "shells", "shore"]); console.log(str);
输出
She sells seashells by the seashore. {^_^}
【END】

本文链接:

版权声明:本博客所有文章除声明转载外,均采用 BY-NC-SA 3.0 许可协议。转载请注明来自 iBlog

阅读 146 | 发布于 2015-10-08
暂无评论