在JavaScript equivalent to printf/string.format中使用js函数
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
;
});
};
}尝试将分隔字段作为参数传递给此函数参数。使用拆分创建数组并将其作为参数传递,但似乎不起作用
var str =" this is a {0} test in {1}";
var args = "StringFormat|Javascript";
var return = str.format(args.split("|"));实战:这是{1}中的StringFormat/Javascript测试 预期的:这是Javascript中的StringFormat测试
发布于 2014-06-28 20:42:06
这是因为.format()并不是在寻找一个字符串数组,而是一个字符串。因此,您应该按照Paolo的建议调用动态数组的.format():
var str =" this is a {0} test in {1}";
var args = "StringFormat|Javascript".split("|");
var return = str.format.apply(str, args);https://stackoverflow.com/questions/24470721
复制相似问题