使用js函数 JavaScript equivalent to printf/string.format
if (!String.prototype.format) {
String.prototype.format = function () {
var args = arguments;
return this.replace(/{(\d+)}/g, function (match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match
;
});
};
}
尝试将分隔字段作为参数传递给此函数参数。使用split创建数组并将其作为参数传递但似乎不起作用
var str =" this is a {0} test in {1}";
var args = "StringFormat|Javascript";
var return = str.format(args.split("|"));
actual:这是{1}中的StringFormat | Javascript测试
预期:这是Javascript中的StringFormat测试
答案 0 :(得分:1)
这是因为.format()
没有查找字符串数组,只是一个字符串。因此,根据Paolo的建议,您应该如何调用.format()
动态数组:
var str =" this is a {0} test in {1}";
var args = "StringFormat|Javascript".split("|");
var return = str.format.apply(str, args);